mdx - 如何使用 MDX 获取最后的非空 10 个成员?

标签 mdx

我有一个 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? (或者用另一种方式完成同样的事情)

最佳答案

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

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])) 成功了!

关于mdx - 如何使用 MDX 获取最后的非空 10 个成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116210/

相关文章:

date - 在 MDX 中过滤今天的日期

performance - MDX 查询以在 icCube 中查找最后一个非空值

ssas - 过滤维度值

MDX 错误 "Hierarchy already appears in the Axis0 axis"

ssas - 从集合中排除(全部)

mdx - 使用 MDX 从一组中获得最高成绩

excel - 在 CUBESET 函数中使用带有三个参数的 EXISTS

sql-server - 产品的 SSAS 维度显示错误的价格格式

ssas - 基于strtomember访问前一个成员

mdx - 在 SUM 内过滤 MDX 中的维度