美文网首页excel
powerquery合并列空值不合并问题

powerquery合并列空值不合并问题

作者: 深海农夫 | 来源:发表于2017-09-17 18:06 被阅读17次

    在使用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合并列空值不合并问题

        本文链接:https://www.haomeiwen.com/subject/htrmsxtx.html