Power BI之power query多条件排序

原文地址:Power BI之power query多条件排序
博主首页:莫里_Katie

业务场景

三种排序要求:
①按照销售额,员工销售额排序;——优先级:销售额
②根据销售额,员工在部门中的排序;——优先级:部门、销售额
③根据销售额,员工在部门、级别中的排序;——优先级:部门、级别、销售额
Power BI之power query多条件排序_第1张图片

实际操作:
①销售额排序
先对销售额降序排列—添加索引。

= Table.Sort(删除的列,{{"销售额", Order.Descending}})
= Table.AddIndexColumn(排序的行, "销售额排名", 1, 1, Int64.Type)

②部门-销售额排序:

分组降序排:选中部门,对所有行分组,同时按照销售额降序排。

= Table.Group(已添加索引, {"部门"}, {{"组合", each Table.Sort(_,{{"销售额", Order.Descending}}), type table [员工=nullable text, 部门=nullable text, 级别=nullable text, 销售额=nullable number, 销售额排名=number]}})

添加自定义列-部门销售额排名,并添加索引。

= Table.AddColumn(分组的行, "部门销售额排名", each Table.AddIndexColumn([组合], "部门销售额排名", 1, 1))

删除其他列,只保留“部门销售额排名”,展开表

= Table.SelectColumns(已添加自定义,{"部门销售额排名"})
= Table.ExpandTableColumn(删除的其他列, "部门销售额排名", {"员工", "部门", "级别", "销售额", "销售额排名", "部门销售额排名"}, {"员工", "部门", "级别", "销售额", "销售额排名", "部门销售额排名"})

展开后如下图:Power BI之power query多条件排序_第2张图片
③部门-级别-销售额排序:
同上面的操作,分组是对部门、级别组合

分组降序排:选中部门,级别,对所有行分组,同时按照销售额降序排。

= Table.Group(#"展开的“部门销售额排名”", {"部门", "级别"}, {{"组合", each _, type table [员工=text, 部门=text, 级别=text, 销售额=number, 销售额排名=number, 部门销售额排名=number]}})

添加自定义列-部门级别销售额排名,并添加索引。

= Table.AddColumn(分组的行1, "部门级别销售额排名", each Table.AddIndexColumn([组合], "部门级别销售额排名", 1, 1))

删除其他列,只保留“部门销售额排名”,展开表

= Table.SelectColumns(已添加自定义1,{"部门级别销售额排名"})
= Table.ExpandTableColumn(删除的其他列1, "部门级别销售额排名", {"员工", "部门", "级别", "销售额", "销售额排名", "部门销售额排名", "部门级别销售额排名"}, {"员工", "部门", "级别", "销售额", "销售额排名", "部门销售额排名", "部门级别销售额排名"})

Power BI之power query多条件排序_第3张图片
加载到表格中,最终的排名如下:
Power BI之power query多条件排序_第4张图片
总结:
当数据量很大时,该排序方式可以快速生成。如果直接在表中输入公式排序,数据量大时,表格会很卡。

你可能感兴趣的:(Excel,power,query,Power,BI,多条件排序,分组排名,Excel)