Pfa*_*tic 7 ranking dax powerbi
我有一个类似于以下的数据集:
Year Location Type Amount
2015 West Apple 12
2015 West Pear 14
2015 East Apple 55
2015 South Orange 62
2015 West Orange 64
2015 East Banana 12
2015 North Banana 23
2015 East Peach 43
2015 East Apple 89
2015 West Banana 77
2015 West Orange 43
2015 North Apple 2
Run Code Online (Sandbox Code Playgroud)
我需要对其进行总结,以显示TopN以及所有其他内容,以保持总计相同.仅过滤以仅显示TopN会减少总计,并且无法正常工作......
最终结果应如下所示(本例中n = 3):
Type Amount
Orange 169
Apple 158
Banana 112
All Other 57
Grand Total 496
Run Code Online (Sandbox Code Playgroud)
我已经为总量创建了一个新的衡量标准:
Total_Amount = Sum(data[Amount])
Run Code Online (Sandbox Code Playgroud)
但我不知道是继续使用RankX还是TopN而且我还没有在Power BI中找到一种简单的方法,不仅可以显示TopN,还可以将其他所有属于All Other类别的内容组合在一起.
这可以通过创建等级度量来完成,然后使用它来确定前N个类型和随后的N个类型。
创建此度量:
Total:=SUM(Data[Amount])
Run Code Online (Sandbox Code Playgroud)
[Type Rank]使用[Total]度量创建度量:
Type Rank:=RANKX(ALL(Data[Type]);[Total])
Run Code Online (Sandbox Code Playgroud)
现在使用[Type Rank]测量来确定何时汇总[Amount]。
Top3:=IF ([Type Rank] <= 3;[Total];
IF(HASONEVALUE(Data[Type]);
IF(VALUES(Data[Type]) = "Others";
SUMX ( FILTER ( ALL ( Data[Type] ); [Type Rank] > 3 ); [Total] )
)
)
)
Run Code Online (Sandbox Code Playgroud)
将出现3次数替换为Types您要获取的次数。Data在我的示例中还要注意的是表的名称,您必须输入实际的表名称。
有必要Others在数据中添加行,然后对大于N类型进行聚合,因此您可以使用如下代码:
Year Location Type Amount
2015 West Apple 12
2015 West Pear 14
2015 East Apple 55
2015 South Orange 62
2015 West Orange 64
2015 East Banana 12
2015 North Banana 23
2015 East Peach 43
2015 East Apple 89
2015 West Banana 77
2015 West Orange 43
2015 North Apple 2
2015 East Others
Run Code Online (Sandbox Code Playgroud)
这是我在Excel中使用您的数据创建的数据透视表:
这是“类型”列中每个值的计算得出的排名:
此方法也可以在Power BI中使用。
让我知道这是否对您有帮助。
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |