使用电源查询创建分组序列号

2018-05-26

在电源查询中为每一行数据创建序号是很容易的。

有一个索引列按钮添加一列选项卡中的电源查询编辑器。这将添加一个包含按顺序递增整数的列。还可以选择以哪个数字开始序列,以及每一行增加多少。

如果我们为每行启动1以1开始并递增1,则可以将其用作数据中的序列号。这是每行数据的唯一标识符。

如果我们有产品订单的数据,并且希望列表中每个产品都有一个唯一的标识符,该怎么办?每个产品可以在数据中出现多次,但我们希望每次出现的产品都有相同的序列号。这有点棘手。

在此帖子中,我们将探讨我们如何为我们的数据添加分组的序列号。换句话说,潜在重复的项目列表中的每个项目的唯一ID。

如果您是新的电源查询,您可以查看此信息概述指南第一。

将数据导入到电源查询编辑器中

对于本例,数据位于工作簿中名为data的表中。我们可以通过选择表并转到电源查询编辑器将其导入数据选项卡并使用表/距离查询命令。

这将直接带我们进入电源查询编辑器。

添加保存原始数据顺序的索引

我们将稍后执行的步骤可能会更改数据的原始排序。

为了保持这一点,我们将立即在数据中添加一个索引列。然后,我们可以使用该列对查询进行排序,以恢复之前的数据排序。

这是一个可选步骤,只有需要保留原始数据源的排序时才需要。

添加一列选项卡,然后按下旁边的小箭头索引列命令。这将显示一个菜单,我们可以选择开始索引从1

按产品分组数据

现在我们可以按Product对数据进行分组。选择Product列,然后转到变换标签并按通过...分组命令。

集团菜单确保产品被选中。然后为这件事手术我们打算选择所有行我们可以将这一列命名为分组数据。

这将创建一个列,其中每个行条目是表。每行中的表是给定产品的一组数据,我们最终为每个独特产品结束。

通过单击分组数据行中包含Table元素的一个单元格进行测试。单击单元格的空白部分,而不是单词Table。

这将显示电源查询编辑器底部的表格预览。我们可以看到,这只是给定产品的原始数据。

注意,单击单词Table将向查询添加一个导航步骤,并导航到该表。

添加带有索引列的唯一产品ID

现在,我们准备用另一个索引列添加产品ID。由于数据是按乘积分组的,这意味着索引按乘积是唯一的。

同样,我们需要去添加一列标签并按索引列命令创建新的索引列从1

我们还可以将该列重命名为ID.双击列标题以重命名它。

展开分组数据列

这是关键的一步。在查询中展开分组数据列。这将从本质上取消我们之前分组的数据的分组。

单击展开的展开切换位于右侧分组数据列标题。选择扩大列中的表格。

删除产品从展开的选择中选择,因为在分组查询中已经有Product列。

请取消使用原始列名作为前缀保持列名的选项减少凌乱。

现在我们有了唯一的分组序列号。

恢复源数据的原始顺序

请注意,扩展数据后,它不再与原始源数据相同的顺序。数据已由产品排序。

在这里,我们可以使用在流程开始时添加的索引列来重新获得排序。

单击在列标题右侧找到的Index列筛选器切换。选择升序选项。

清除查询

我们已经完成了向数据添加分组序列号的目标,但是在结束之前,我们需要稍微清理一下查询。

删除Index列。它的作用是恢复数据的原始排序顺序,我们不再需要它了。右键单击选择的Index列标题删除

更改剩余列的数据类型。我们可以将订单日期更改为日期类型,将总额与货币类型和ID到文本类型的类型。要更改列的数据类型,请单击其列标题中的数据类型图标,然后选择相应的选项。

将ID列移动到第一列位置。单击并将其拖动到新位置上。

现在,我们可以关闭并将查询加载到工作簿中的Excel表中。去标签并按关闭和装载按钮将表格加载到Excel工作簿中。

结论

通过电源查询,我们可以很容易地通过产品添加一个唯一的序列号。

其主要思想是按乘积分组数据,而不进行任何聚合,然后添加索引列,然后取消分组数据。这就产生了一个连续的ID号,对于每个产品都是相同的。

我们还可以通过在操作之前添加一个索引列,然后在操作之后对这个索引进行排序来保持原始数据的顺序。

很酷的是,我们现在可以在数据中添加新产品,当我们刷新查询时,它也将得到一个唯一的序列号。

关于作者

约翰MacDougall

约翰MacDougall

John是一个微软MVP和自由职业顾问和专业从事Excel,Power BI,Power自动化,电源应用程序和SharePoint的培训师。您可以在博客或YouTube频道上找到其他有趣的文章。

订阅

广告

相关文章

注释

0评论

获取最新消息

关注我们

在社交媒体上关注我们,并与Excel的最新提示保持联系!

把它钉在Pinterest上

分享这个