在电源数据透视表中汇总数据时,RANKX无法正常工作

时间:2014-10-08 06:15:35

标签: sql-server ssas olap powerpivot dax

我试图在MSSQL分析服务表格模型中使用DAX对电源数据透视表中的记录进行排名。

示例细节:

我在表中有一个商店销售详情。 e.g。

ShopNo date sales
-----------------
1 2014-11-09 120
1 2014-11-09 130
2 2014-11-10 130
2 2014-11-10 135

在数据透视表中,数据按月和年分析。

我希望看到像

这样的结果
ShopNo sales rank
-----------------
2 265 1
3 250 2 

任何解决方案都可以自动显示状态人口。

由于

1 个答案:

答案 0 :(得分:0)

使用此公式,您应该可以使用PowerPivot轻松实现排名:

RankShop:=RANKX(ALL(SalesTable[ShopNo]), [Sum of sales],,,Dense)

SalesTable 作为您的商店销售表。如果您随后创建了一个数据透视表 - 将ShopNo拖到Rows上并添加新的 Measure (Excel 2010,在2013年它的计算字段)。结果表可能如下所示:

enter image description here

要了解有关RANK功能的更多信息,我建议this article

为了隐藏Grand Total行中的排名值,添加一个简单的条件,在grandtotals的情况下放置空白值:

=IF(HASONEVALUE(SalesTable[ShopNo]), [RankShop], BLANK())

希望这有帮助。