Matrix 在幂BI中对系数矩阵列重新排序
我在Power BI中有一个矩阵视觉。列是部门,行是年份。这些值是每个部门每年的人数。这些部门显然没有自然排序,但我想使用每个部门的总列数按降序对它们进行重新排序 例如,如果C部门在过去几年(行)总共有100人,而所有其他部门的人数都较少,我希望C部门排在第一位 我见过其他添加索引列的解决方案,但这对我来说效果不太好,因为“count of people”变量是我想要索引的变量,而这在我的数据中并不存在。相反,这是一个基于个人的计算,每个人都有一个部门和一年 如果有人能给我指出一种改变列顺序/排序的简单方法,那就太棒了Matrix 在幂BI中对系数矩阵列重新排序,matrix,powerbi,columnsorting,Matrix,Powerbi,Columnsorting,我在Power BI中有一个矩阵视觉。列是部门,行是年份。这些值是每个部门每年的人数。这些部门显然没有自然排序,但我想使用每个部门的总列数按降序对它们进行重新排序 例如,如果C部门在过去几年(行)总共有100人,而所有其他部门的人数都较少,我希望C部门排在第一位 我见过其他添加索引列的解决方案,但这对我来说效果不太好,因为“count of people”变量是我想要索引的变量,而这在我的数据中并不存在。相反,这是一个基于个人的计算,每个人都有一个部门和一年 如果有人能给我指出一种改变列顺序/排
| DeptA | DeptB | DeptC
------|-------|-------|-------
1900 | 2 | 5 | 10
2000 | 6 | 7 | 2
2010 | 10 | 1 | 12
2020 | 0 | 3 | 30
------|-------|-------|-------
Total | 18 | 16 | 54
Order: #2 #3 #1
我不认为有一种内置的方法可以做到这一点,就像对行进行排序一样(虽然应该有,所以就这样做),但这里有一种可能的解决方法 我假设您的源表名为
Employees
,如下所示:
Department Year Value
A 1900 2
B 1900 5
C 1900 10
A 2000 6
B 2000 7
C 2000 2
A 2010 10
B 2010 1
C 2010 12
A 2020 0
B 2020 3
C 2020 30
Depts = SUMMARIZE(Employees, Employees[Department], "Total", SUM(Employees[Value]))
首先,创建一个新的计算表,如下所示:
Department Year Value
A 1900 2
B 1900 5
C 1900 10
A 2000 6
B 2000 7
C 2000 2
A 2010 10
B 2010 1
C 2010 12
A 2020 0
B 2020 3
C 2020 30
Depts = SUMMARIZE(Employees, Employees[Department], "Total", SUM(Employees[Value]))
这将为您提供一个简短的表格,如下所示:
Department Total
A 18
B 16
C 54
由此,您可以轻松地在此Depts
表上使用计算列对总计进行排序:
Rank = RANKX('Depts', 'Depts'[Total])
确保新的部门
表与部门
列上的原始员工
表相关
在“数据”选项卡下,使用“建模”>“按列排序”对部门[部门]按部门[等级]排序
最后,将可视化矩阵上的员工[部门]
替换为部门[部门]
,您应获得以下信息:
谢谢分享!我不确定我是否想惹麻烦,但如果我决定需要,我很感激能找到解决办法