我正在使用MDX查询在两个日期之间获得前10个受欢迎的产品。奇怪的是,结果是由一些产品在那个日期范围内的喜欢组成,有些产品根本就没有任何喜欢。这是查询:
SELECT
{ [Measures].[Likes] } ON COLUMNS,
{ TOPCOUNT([Products].[Name].Members, 10, [Measures].[Likes]) } ON ROWS
FROM [Likes]
WHERE ( [Date].[2014].[3].[29]:[Date].[2014].[4].[5] )
结果如下:
[Measures].[Likes]
[Product].[XX]
[Product].[XX]
[Product].[XX] 139
[Product].[XX]
[Product].[XX] 1
[Product].[XX]
[Product].[XX]
[Product].[XX] 125
[Product].[XX] 111
[Product].[XX] 1
例如,如果我将上限更改为20,结果将会有更多带有喜欢的产品,但也会有更多空的产品,而不是有序的(通常是顶部)。
使用NON EMPTY使查询仅返回5个结果而不是10个结果,但仍然没有排序。
谢谢!
答案 0 :(得分:1)
尝试此查询
SELECT
{ [Measures].[Likes] } ON 0,
Head(ORDER([Products].[Name].Members,[Measures].[Likes], DESC), 10) ON 1
FROM [Likes]
WHERE ( [Date].[2014].[3].[29]:[Date].[2014].[4].[5] )