无法弄清楚如何让 RANKX 工作
Cannot figure out how to get RANKX to work
过去两天我一直在为此苦苦挣扎。我正在尝试使用 Power BI 创建一个简单的报告来显示前 10 次出现的事件。
我有一个名为 Requests 的 table,它具有以下内容:
Id Code
1 00001
2 00001
3 00500
4 00001
5 00500
6 00730
...
我正在尝试计算每次出现的代码并显示前 10 个:
Code Count Rank
00001 3 1
00500 2 2
00730 1 3
我创建了一个名为 Count 的度量:
Count = COUNTROWS(Requests)
我尝试通过以下方式创建排名衡量标准:
Rank = RANKX(ALL(Requests), [Count])
Rank = RANKX(Requests, [Count])
一切都得到相同的值 1:
Code Count Rank
00001 3 1
00500 2 1
我做错了什么?
我相信你得到全 1 的原因是你创建的度量每次使用时只会给你 table 中的总行数,然后你基本上尝试对相同的数字进行排名对于每一行,一遍又一遍地反对自己。
您可以通过使用 TOPN
然后 RANKX
来获得您想要的。为此,创建一个新的 table 并输入此代码以根据 ID 计数从请求 table 中获取前 10 个代码:
TOP10 = TOPN(10,GROUPBY(Requests,Requests[Code],"Count",countx(CURRENTGROUP(),Requests[Id])))
然后使用此代码添加一个新列以进行排名:
Rank = RANKX(TOP10,TOP10[Count])
您将从上面显示的前 6 行中获得此结果:
如果您不想太麻烦,可以使用内置的 Top N Filter。只需为 Code
列设置前 N 个筛选器,按 Count
的值显示前 10 个:
考虑在 Power BI Desktop 中使用 VALUES 和变量计算 table:
Top 10 Codes =
VAR MyTable =
ADDCOLUMNS (
VALUES ( Requests[Code] ),
"Occurences", COUNTROWS ( RELATEDTABLE ( Requests ) )
)
RETURN
TOPN (
10,
ADDCOLUMNS ( MyTable, "Rank", RANKX ( MyTable, [Occurences] ) ),
[Rank], ASC
)
过去两天我一直在为此苦苦挣扎。我正在尝试使用 Power BI 创建一个简单的报告来显示前 10 次出现的事件。
我有一个名为 Requests 的 table,它具有以下内容:
Id Code
1 00001
2 00001
3 00500
4 00001
5 00500
6 00730
...
我正在尝试计算每次出现的代码并显示前 10 个:
Code Count Rank
00001 3 1
00500 2 2
00730 1 3
我创建了一个名为 Count 的度量:
Count = COUNTROWS(Requests)
我尝试通过以下方式创建排名衡量标准:
Rank = RANKX(ALL(Requests), [Count])
Rank = RANKX(Requests, [Count])
一切都得到相同的值 1:
Code Count Rank
00001 3 1
00500 2 1
我做错了什么?
我相信你得到全 1 的原因是你创建的度量每次使用时只会给你 table 中的总行数,然后你基本上尝试对相同的数字进行排名对于每一行,一遍又一遍地反对自己。
您可以通过使用 TOPN
然后 RANKX
来获得您想要的。为此,创建一个新的 table 并输入此代码以根据 ID 计数从请求 table 中获取前 10 个代码:
TOP10 = TOPN(10,GROUPBY(Requests,Requests[Code],"Count",countx(CURRENTGROUP(),Requests[Id])))
然后使用此代码添加一个新列以进行排名:
Rank = RANKX(TOP10,TOP10[Count])
您将从上面显示的前 6 行中获得此结果:
如果您不想太麻烦,可以使用内置的 Top N Filter。只需为 Code
列设置前 N 个筛选器,按 Count
的值显示前 10 个:
考虑在 Power BI Desktop 中使用 VALUES 和变量计算 table:
Top 10 Codes =
VAR MyTable =
ADDCOLUMNS (
VALUES ( Requests[Code] ),
"Occurences", COUNTROWS ( RELATEDTABLE ( Requests ) )
)
RETURN
TOPN (
10,
ADDCOLUMNS ( MyTable, "Rank", RANKX ( MyTable, [Occurences] ) ),
[Rank], ASC
)