我有一个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个成员),但它包含空的评级。
如何一起使用NON EMPTY和HEAD? (或者用另一种方式完成同样的事情)
答案 0 :(得分:5)
我认为答案已经有点迟了,但这是我使用的解决方案(我遇到了同样的问题):
select {[Measures].[Percentage Present]} ON COLUMNS,
Head(Filter([Student].[Student].AllMembers, not isEmpty([Measures].[Percentage Present])),10) ON ROWS
from [Attendance]
Head + Filter(不是isEmpty([measure]))就可以了!
答案 1 :(得分:0)
不确定理解'last'的含义,但这是使用NonEmpty函数而不是NON EMPTY关键字的声明:
SELECT
NON EMPTY [Measures].[Rating] ON COLUMNS,
HEAD( NonEmpty(
[Response].[Response Name].Members,
[Measures].[Rating]
),
10
) ON ROWS
FROM [Ratings]