"Getting the top 5 sales by year and display the results by Quarter " 使用 MDX

"Getting the top 5 sales by year and display the results by Quarter " using MDX

我正在使用销售立方体。
我想按年获得前 5 名的商店,并在稍后的报告中按季度显示他们的销售额。

我能够进入前 5 名的商店,但不仅是按季度而且按年份!

SELECT NON EMPTY { [Measures].[Revenue] } ON COLUMNS, 
NON EMPTY { ([DWH REF DATE].[H_CALENDER].[QUARTER NUM].ALLMEMBERS * TOPCOUNT([DWH REF STORE].[H_STORE].[STORE].ALLMEMBERS , 5  ,  [Measures].[Revenue] )) } 
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( -{ [DWH REF STORE].[H_STORE].[TERRITORY].&[N/A].&[N/A] } ) ON COLUMNS FROM ( SELECT ( { [DWH REF DATE].[H_CALENDER].[YEAR NUM].&[2012] } ) ON COLUMNS FROM [SALES CUBE])) 

我真正希望能够做到的是按年获得前 5 名的商店,然后按 5 家商店的季度获得销售额。

欢迎使用 SO,让我们看一个示例。 我正在尝试从 adventureworks cube 获取 2013 年互联网销售额排名前 5 位的子产品

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
topcount
(
[Product].[Subcategory].[Subcategory],
5,
[Measures].[Internet Sales Amount]
)
on rows
from 
[Adventure Works]
where [Date].[Calendar].[Calendar Year].&[2013]

结果

现在让我们尝试将销售额除以四分之一

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
[Date].[Calendar Quarter of Year].[Calendar Quarter of Year]
on rows
from 
(select  topcount([Product].[Subcategory].[Subcategory],5,[Measures].[Internet Sales Amount]) on 0 from [Adventure Works] )
where [Date].[Calendar].[Calendar Year].&[2013]

结果

编辑:根据评论

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
(
topcount
(
[Product].[Subcategory].[Subcategory],
5,
[Measures].[Internet Sales Amount]
),[Date].[Calendar Quarter of Year].[Calendar Quarter of Year])
on rows
from 
[Adventure Works]
where [Date].[Calendar].[Calendar Year].&[2013]

结果