我在Power BI中具有矩阵视觉。列是部门,行是年份。这些值是每年每个部门的人数。部门显然没有自然的顺序,但是我想使用每个部门的总列数以降序对它们进行重新排序。
例如,如果C部门多年来(行)总共有100个人,而其他所有部门的人数都较少,那么我希望C部门排在第一位。
我看到了其他添加索引列的解决方案,但是这对我来说效果不佳,因为“人数”变量是我要作为索引依据的变量,并且该变量在我的数据中还不存在。而是基于每个人都有部门和年份的计算。
如果任何人都可以向我介绍一种简单的更改列排序/排序的简便方法,那将非常出色!
| 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
答案 0 :(得分:0)
我不认为有内置的方法可以像对行进行排序一样(应该有,所以请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
表与Employees
列上的原始Department
表相关。
在“数据”标签下,使用“建模”>“按列排序”对Depts[Department]
和Depts[Rank]
进行排序。
最后,将Employees[Department]
替换为矩阵视觉上的Depts[Department]
,您将获得以下信息: