如何将含List和Record类型的列统一为List并转为逗号分隔单列
处理混合类型列的解决方案
1. 统一Record与List为List类型
针对ShareRoot.Access列同时存在Record和List的情况,在Power Query编辑器中使用以下M代码转换原列,将Record类型转为List:
= Table.TransformColumns( 你的数据表名称, {{"ShareRoot.Access", each if Type.Is(Value.Type(_), type record) then Record.ToList(_) else _}} )
Record.ToList()函数会提取Record中的所有值生成List,和原有List结构保持一致,实现列内数据类型统一。
2. 将List转换为逗号分隔的文本
完成类型统一后,继续用M代码把List元素拼接成逗号分隔的单列文本:
= Table.TransformColumns( 上一步输出的表, {{"ShareRoot.Access", each Text.Combine(List.Transform(_, Text.From), ", ")}} )
先通过List.Transform(_, Text.From)把List内所有元素转为文本格式,再用Text.Combine以逗号加空格作为分隔符拼接成字符串。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

