有时候我们不能删除重复数据,而是需要将其标记出来,或者筛选出来。
可以用PowerQuery的分组功能来实现标记重复数据。
1.选中要标记重复数据的列,点击左上角的“分组依据”【图1】。
2.在分组设定窗口,可以看到PowerQuery将对Name列进行计数,如果是唯一值,则计数结果为1;如果包含重复值,则计数结果将大于1;将计数列重名为一个容易理解的名字;然后点击右边的+号,新增一列,在“操作”栏,选择新增的那一列的向下小三角,展开选项,选择最底下的“所有行”,这一步的目的是返回包含所有列的表格,因为我们只想标记出重复值,而不想对表格结构作出大的更改。【图3】设定好之后点击“确定”,回到PowerQuery数据预览窗口。
3.我们现在可以看到重复数据标记结果了:重复的值会在计数列显示为大于1的整数。本例中,是第三行的“li”重复了,所以"Name计数"列显示为2。我们可以简单在“Name计数列”进行筛选【图4】
4.然后,我们需要将数据还原,因为我们只想标记,不想删除或做别的处理,所以我们点击最后一列的展开按钮,展开表格,然后选择要展开的列,因为已经有Name列了,所以我们取消勾选“Name”列,我们也把最后的“使用原始列名作为前缀”选项取消勾选,因为这里我们不会搞混列名,所以不需要前缀。如果我们筛选大于1的重复值,并展开包括所有行的表格,最后得到的结果如【图5】所示。
5.仔细观察展开的列和表格原始列的顺序,发现发生了变化,这是PowerQuery一个不太如人意的地方,如果顺序很重要,必须重新排序。对于列数少的表格,我们可以手工排序;如果列数很多,就必须采用别的办法。我将专门建立一个帖子。