排序列

可以在 Power Query 中按一列或多列对表进行排序。 例如,下表中的列名为“比赛”、“对手”和“位置”。

源表排序示例。

包含“比赛”、“参赛者”和“名次”列的表格。 “比赛”列第 1 行和第 6 行包含 1-开幕式,第 3 行和第 5 行包含 2-主赛,第 2 行和第 4 行包含 3-决赛。 “位置”行中每个“竞赛”值对应的值均为 1 或 2。

在本示例中,目标是按“比赛”和“位置”字段按升序对此表进行排序。

排序后的示例输出表格。

包含“竞赛”、“参赛者”和“名次”列的表格。 “比赛”列第 1 行和第 2 行包含 1-开幕式,第 3 行和第 4 行包含 2-主赛,第 5 行和第 6 行包含 3-决赛。 ”位置“行的值从上到下依次为 1、2、1、2、1 和 2。

升序排序将一列中按字母顺序排列的行从 A 到 Z 排序,然后是 a 到 z。 按降序对列中的字母行进行排序,从 z 到 a,然后从 Z 到 A。例如,检查以下未排序的列:

包含首字母大小写随机、未按字母顺序排序的名称的列的屏幕截图。

使用升序排序时,字母列的排序方式如下:

列的屏幕截图,其中的行已排序为首字母大写的 Alpha、Beta 和 Sierra,以及首字母小写的 alpha、gamma 和 zulu。

使用降序排序时,字母列的排序方式如下:

列的屏幕截图,其中显示了已排序的行:首字母小写的 zulu、gamma 和 alpha,以及首字母大写的 Sierra、Beta 和 Alpha。

按一列对表进行排序

若要按单个列对表进行排序,请先选择该列。 然后从以下两个位置之一中选择排序操作:

  • 在“主页”选项卡上的“排序”组中,有图标可按升序或降序对列进行排序。

    Power Query 功能区屏幕截图,其中显示了“主页”选项卡已被选中,并且“排序”组突出显示。

  • 从列标题下拉菜单中。 列的名称旁边有一个下拉菜单指示器 。 选择图标后,就会显示对列进行排序的选项。

    列标题下拉菜单的屏幕截图,其中突出显示了“升序排序”和“降序排序”选项。

在此示例中,使用“主页”选项卡上“排序”组中的按钮对“竞赛”列进行排序。此操作会在“应用的步骤”部分中创建一个名为“已排序的行”的新步骤。

Power Query 编辑器屏幕截图,其中突出显示了“已应用步骤”列表中的已排序行步骤。

显示为向上箭头的可视指示器将添加到 “竞赛 ”下拉菜单图标,以显示列按升序排序。

按多个列对表进行排序

可以同时按多列排序。 Power Query 按照优先顺序对各列应用排序,因此,系统会先按第一列对行进行排序;对于第一列值相同的行,再按第二列排序,依此类推。 可通过两种方法定义多列排序:从列标题菜单或从 “排序 ”对话框。

使用列标题菜单

继续上一个示例,同时按升序对 “位置” 字段进行排序,这次也使用 “位置 ”列标题下拉菜单。

屏幕截图,其中显示了“位置”列下拉菜单中的排序命令。

此操作不会创建新的 排序行 步骤,但修改现有行步骤以在一个步骤中执行这两个排序操作。 以这种方式对多个列进行排序时,列排序的顺序取决于列的选定顺序。 一个视觉指示器会以下拉菜单指示器左侧的数字形式显示,表明每一列在排序顺序中所处的位置。

已排序列的屏幕截图,其中突出显示了支持排序顺序的数字。

使用“排序”对话框

对于具有多个级别的排序,或者想要同时查看和重新排序每个排序级别时,请使用 “排序 ”对话框而不是列标题菜单。

在“ 开始 ”选项卡上的 “排序 ”组中,选择“ 排序”。

“开始”选项卡上的“排序”组的屏幕截图,其中突出显示了“排序”按钮。

如果在打开对话框之前选择一个或多个列,Power Query按照所选列的顺序自动将这些列添加为排序级别。 否则,对话框打开时其中仅包含一个空白级别。 例如,下面的 排序 对话框定义了对另一个表进行的三级排序:首先按 减法,然后按 优先级,再按 区域,且均按升序排列。

“排序”对话框的屏幕截图,其中包含三个排序级别:减法升序、优先级升序和区域升序。

“ 排序 ”对话框列出网格中的每个排序级别:

  • 优先级:Power Query从上到下应用每个级别的顺序。 此数字与数据预览中每个排序列的标题旁边显示的数字相同。
  • 列:该级别据以排序的列。 一个列一次只能用于一个级别;此列表中未显示已在其他级别中使用的列。
  • 排序顺序:排序依据的方向,例如升序(从小到大)或降序(最大到最小)。

更改排序顺序:

  • 选择 “+ 添加级别” 以在现有级别下方添加新的空级别。
  • 选择级别旁边的 ... 菜单以将其删除,或按优先级向上或向下移动。
  • 拖动该级别所在的行并将其拖放到新位置,即可直接重新排序。

每个级别都需要先选择列和排序顺序,然后才能选择确定。 如果任何级别缺少选定内容,或者如果两个级别使用相同的列,Power Query会阻止排序并突出显示需要注意的级别。

选择“确定”后,Power Query按定义的所有级别对表进行排序,并按对话框中级别的顺序显示每个排序列标题旁边的优先级编号。

列标题的屏幕截图,其中显示以下优先级编号:Subtraction 为 1,Priority 为 2,Region 为 3。

若要更改现有的多级排序,请在“已应用”步骤中选择“已排序行”步骤旁边的齿轮图标。 Power Query重新打开“排序”对话框,其中包含已填充的所有已保存级别和排序顺序。

从列清除排序操作

执行下列操作之一:

  • 选择列标题旁边的向下箭头,然后选择“清除排序”。
  • 在“已应用”步骤中选择“排序行”步骤旁边的齿轮图标,打开“排序”对话框,然后删除每个级别。
  • 在“查询设置”窗格的“已应用步骤”中,删除“已排序行”步骤。