2

我有一个 MDX 查询:

SELECT
NON EMPTY {Hierarchize({[Measures].[Rating]})} ON COLUMNS,
NON EMPTY {Hierarchize({[Response].[Response Name].Members})} ON ROWS
FROM [Ratings]

这会将响应名称表返回到响应计数。不过,此查询为所有响应返回一行,我只想要最近的 10 个响应。

我尝试像这样使用 HEAD 来做到这一点:

SELECT
NON EMPTY {Hierarchize({[Measures].[Rating]})} ON COLUMNS,
HEAD(NON EMPTY {Hierarchize({[Response].[Response Name].Members})}, 10) ON ROWS
FROM [Ratings]

但它给出了一个错误“第 3 行第 18 列的语法错误,标记 'NON'”

如果我删除了 NON EMPTY,那么它会按我的预期工作(仅返回 10 个成员),但是它包括空的 Ratings。

如何同时使用 NON EMPTY 和 HEAD?(或以另一种方式完成同样的事情)

4

2 回答 2

5

我相信答案已经有点晚了,但这是我使用的解决方案(我遇到了同样的问题):

select {[Measures].[Percentage Present]} ON COLUMNS, 
Head(Filter([Student].[Student].AllMembers, not isEmpty([Measures].[Percentage Present])),10) ON ROWS 
from [Attendance]

Head + Filter(, not isEmpty([measure])) 成功了!

于 2013-02-01T14:18:46.367 回答
0

不确定“最后”是什么意思,但这里有一个使用NonEmpty函数而不是 NON EMPTY 关键字的语句:

SELECT

NON EMPTY [Measures].[Rating] ON COLUMNS,

HEAD( NonEmpty( 
         [Response].[Response Name].Members, 
         [Measures].[Rating] 
      ), 
      10
) ON ROWS

FROM [Ratings]
于 2013-01-02T03:06:46.613 回答