我目前正在使用pentaho中的MDX。 目前我面临的问题是无法根据一项措施获得前10名。
即,我想根据当前年度销售量编写MDX查询以查找前10名客户,并且还需要该客户的上一年销售额。
我的问题是MDX查询总结了过去和当年的销售量并列出了前10名。
如何根据当前年度专栏获得前10名?
例如,
Customer Current Year Previous Year
A 100 200
B 150 125
C 200 -
预期结果:
Customer Current Year Previous Year
C 200 -
B 150 125
A 100 200
请帮帮我。
答案 0 :(得分:0)
Topcount函数有3个参数,一个Set,要返回的项目数和一个数字表达式。
假设您有[客户]。成员在行上,已定义两个[时间]维度成员和[度量]。[销售]作为衡量标准,您可以使用
Select
TopCount( [Customer].Members, 3, ( [Measures].[Sales], [Time].[Current Year]) ) on Rows,
{ [Time].[Current Year], [Time].[Previous Year] } on Columns
From [My Cube]
Where [Measures].[Sales]
TopCount将根据排名
返回前3位客户([Measures].[Sales], [Time].[Current Year])
如果您没有将此元组指定为数字表达式,则可以按整体[Measures]。[Sales]值获得排名。