本节继续讲解 Power Query-Text.Combine 函数进阶。
下面看一个更加有趣的例子。
比如上图,有多列,我们需要求出唯一值,标准有两个,分别是以左边为基准和以右边为基准。
比如以左边为基准,这个 “袋子”,在列“核心词” 里面已经存在,则在列 “热搜分词” 里面则应该剔除。
貌似一列去重比较简单(“删除重复项” 即可),根据这么多列求唯一的话有难度!
我们不妨先进到 Power Query 界面里看看。
因为即使在 PQ 界面里面,也不可以一步到位根据三列去除其重复项。
所以我们第一步要做的就是把三列数据放到一列里面。
选中三列数据,做 “逆透视列”。
现在的话就可以对第二列值进行删除重复项了(前提是我们以左边为基准,若以右边为基准,则需要多做一步 “反转行”)。
现在我们所要做的就是将其反回去显示。
选中 “属性” 列,对 “值” 列做“透视列”,并且“不要聚合”。
发现如下错误:
很明显,是列表内重复项太多的原因,之前我们已经提及。
这里所说的重复项并不是上面我们没有剔除干净,是所剩的列名重复,我们需要做一些汇总工作。
故我们所需要做的是以 “属性” 为依据,对 “值” 进行汇总。
到了这一步,我们就特别熟悉了,更改公式!
将
“Table.Group(删除的副本, {“属性”}, {undefined{“计数”, each List.Sum([值]), type text}})”
改为
“Table.Group(删除的副本, {“属性”}, {undefined{“计数”, each Text.Combine([值],”,”), type text}})”
以 “,” 进行拆分列。
这个时候我们再做一步转置就大功告成了。
将第一行的数据上移为标题行。
搞定!