SSAS关于多个度量和维度的排名

时间:2016-02-26 13:28:19

标签: ssas ranking rank

我的报告中有一个Rank列。

秩列背后的逻辑基于一个Measure值(一个count或sum)并基于三维。

例如,

  

我要根据a的Measure值(总客户)显示排名   选定的公司(这将是报告的参数,反过来   基于期间的维度(可以是任何年份,半年,   每季度,每月)和产品组

甚至可以从报告中选择度量值作为参数,这会使事情变得复杂。

我该如何做到这一点?

我认为我可以将SSAS的RANK函数与ORDER一起用于计算字段。

但是我们可以创建一个RANK函数而无需对度量或维度进行硬编码吗?

1 个答案:

答案 0 :(得分:0)

我会通过创建存储过程来返回报告的数据来处理这个问题。

存储过程将使用报告参数构建MDX字符串,并使用OPENQUERY()在SSAS服务器上执行它。 MDX只需要获得报告按列排序的度量,然后是行上的期间和产品组。

在存储过程中执行MDX,将结果存储在临时表中,然后使用ROW_NUMBER()或RANK()函数从临时表中选择SELECT,将Rank列添加到输出中。