可以在 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。例如,检查以下未排序的列:
使用升序排序时,字母列的排序方式如下:
使用降序排序时,字母列的排序方式如下:
按一列对表进行排序
若要按单个列对表进行排序,请先选择该列。 然后从以下两个位置之一中选择排序操作:
在此示例中,使用“主页”选项卡上“排序”组中的按钮对“竞赛”列进行排序。此操作会在“应用的步骤”部分中创建一个名为“已排序的行”的新步骤。
显示为向上箭头的可视指示器将添加到 “竞赛 ”下拉菜单图标,以显示列按升序排序。
按多个列对表进行排序
可以同时按多列排序。 Power Query 按照优先顺序对各列应用排序,因此,系统会先按第一列对行进行排序;对于第一列值相同的行,再按第二列排序,依此类推。 可通过两种方法定义多列排序:从列标题菜单或从 “排序 ”对话框。
使用列标题菜单
继续上一个示例,同时按升序对 “位置” 字段进行排序,这次也使用 “位置 ”列标题下拉菜单。
此操作不会创建新的 排序行 步骤,但修改现有行步骤以在一个步骤中执行这两个排序操作。 以这种方式对多个列进行排序时,列排序的顺序取决于列的选定顺序。 一个视觉指示器会以下拉菜单指示器左侧的数字形式显示,表明每一列在排序顺序中所处的位置。
使用“排序”对话框
对于具有多个级别的排序,或者想要同时查看和重新排序每个排序级别时,请使用 “排序 ”对话框而不是列标题菜单。
在“ 开始 ”选项卡上的 “排序 ”组中,选择“ 排序”。
如果在打开对话框之前选择一个或多个列,Power Query按照所选列的顺序自动将这些列添加为排序级别。 否则,对话框打开时其中仅包含一个空白级别。 例如,下面的 排序 对话框定义了对另一个表进行的三级排序:首先按 减法,然后按 优先级,再按 区域,且均按升序排列。
“ 排序 ”对话框列出网格中的每个排序级别:
- 优先级:Power Query从上到下应用每个级别的顺序。 此数字与数据预览中每个排序列的标题旁边显示的数字相同。
- 列:该级别据以排序的列。 一个列一次只能用于一个级别;此列表中未显示已在其他级别中使用的列。
- 排序顺序:排序依据的方向,例如升序(从小到大)或降序(最大到最小)。
更改排序顺序:
- 选择 “+ 添加级别” 以在现有级别下方添加新的空级别。
- 选择级别旁边的 ... 菜单以将其删除,或按优先级向上或向下移动。
- 拖动该级别所在的行并将其拖放到新位置,即可直接重新排序。
每个级别都需要先选择列和排序顺序,然后才能选择确定。 如果任何级别缺少选定内容,或者如果两个级别使用相同的列,Power Query会阻止排序并突出显示需要注意的级别。
选择“确定”后,Power Query按定义的所有级别对表进行排序,并按对话框中级别的顺序显示每个排序列标题旁边的优先级编号。
若要更改现有的多级排序,请在“已应用”步骤中选择“已排序行”步骤旁边的齿轮图标。 Power Query重新打开“排序”对话框,其中包含已填充的所有已保存级别和排序顺序。
从列清除排序操作
执行下列操作之一:
- 选择列标题旁边的向下箭头,然后选择“清除排序”。
- 在“已应用”步骤中选择“排序行”步骤旁边的齿轮图标,打开“排序”对话框,然后删除每个级别。
- 在“查询设置”窗格的“已应用步骤”中,删除“已排序行”步骤。
。 选择图标后,就会显示对列进行排序的选项。