Power BI:TopN和所有其他

时间:2016-06-28 23:08:54

标签: ranking powerbi dax

我有一个类似于以下内容的数据集:

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

我需要对其进行总结,以显示TopN以及所有其他内容,以保持总计相同。仅过滤以仅显示TopN会减少总计,并且无法正常工作......

最终结果应如下所示(本例中n = 3):

Type         Amount
Orange       169
Apple        158
Banana       112
All Other    57
Grand Total  496

我已经为总额创建了一项新措施:

Total_Amount = Sum(data[Amount])

但是我不知道是继续使用RankX还是TopN而且我还没有在Power BI中找到一种直接的方式,不仅可以显示TopN,还可以将其他所有内容归入All其他类别。

1 个答案:

答案 0 :(得分:4)

这可以通过创建排名度量来完成,然后使用它来确定前N个类型和后续类型。

创建此措施:

Total:=SUM(Data[Amount])

使用[Type Rank]指标创建[Total]指标:

Type Rank:=RANKX(ALL(Data[Type]);[Total])

现在使用[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] )
    ) 
  ) 
)

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  

这是我使用Excel中的数据创建的数据透视表:

enter image description here

这是“类型”列中每个值的计算排名:

enter image description here

  

此方法也可用于Power BI。

如果这有助于您,请告诉我。