我在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
发布于 2018-10-11 09:29:05
我不认为有像排序行那样的内置方法(应该有,所以使用vote for a similar idea here),但这里有一个可能的变通方法。
我假设您的源表名为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 Total
A 18
B 16
C 54
由此,您可以轻松地使用此Depts
表上的计算列对总计进行排名:
Rank = RANKX('Depts', 'Depts'[Total])
确保新的Depts
表与Department
列上的原始Employees
表相关。
在Data选项卡下,使用Modeling > Sort by Column按Depts[Rank]
对Depts[Department]
进行排序。
最后,在您的矩阵视觉上用Depts[Department]
替换Employees[Department]
,您应该会得到以下结果:
https://stackoverflow.com/questions/52749948
复制相似问题