powerquery合并列空值不合并问题

在使用powerquery进行数据处理时,需要合并动态数量的列,且列中值会有空的情况;

一开始使用的是如下代码:

= Table.CombineColumns(已透视列,List.Skip(Table.ColumnNames(已透视列),4),Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"已合并")

其中List.Skip(Table.ColumnNames(已透视列),4)表示,先获取列名的list,然后从list中剔除固定的前4个值,此时只要将固定的列排到前面,则能动态获取要合并的列。

而上面的代码会出现如果列中存在null值,在合并后会出现多个|,由于是动态列,且null值也不固定,无法进行替换;

无意中发现在合并2列时的代码

= Table.AddColumn(替换的值2, "已合并", each Text.Combine({[颜色], Text.From([值], "zh-CN")}, ":"), type text)

当有一列值为null时,合并的列的值就只包含有有值的列,而不包含分隔符,这不正是我想要的结果么,此时按照思路修改代码如下:

= Table.CombineColumns(已透视列,List.Skip(Table.ColumnNames(已透视列),4),each Text.Combine(_,"|"),"已合并")

运行结果符合预期。

思考原因:应该是由于Text.Combine合并的是文本,而null值为空则自动过滤不进行用分隔符合并了。

你可能感兴趣的:(powerquery合并列空值不合并问题)