【问题标题】:SSAS MDX Script - Scope to all members of a hierarchy except the [All] memberSSAS MDX 脚本 - 除 [All] 成员之外的层次结构的所有成员的范围
【发布时间】:2015-09-24 23:29:37
【问题描述】:

是否要编写一个范围声明,以涵盖除 [All] 成员之外的日期层次结构的所有成员?

我已经尝试了很多方法使用过滤器,除了,后代等,但每次,我都会收到错误消息: 在当前上下文中不允许任意形状的集合。

我需要在低于 ALL 成员的级别进行一些计算,然后根据上下文进行汇总(根据 excel 数据透视表选择)

有什么想法吗?

这已经在我的盘子上待了将近一个星期,除了为层次结构的每个级别编写多个范围声明之外,我没有找到解决它的方法,但最后我将不得不重复很多次,就像我们一样对许多日期维度执行此操作

一定有更简单的方法吧?

【问题讨论】:

  • 你解决了这个问题吗?

标签: scope ssas mdx


【解决方案1】:
Scope([Date].[Date].Members, [Date].[Year].[Year].Members)

Date.Date 是日期维度中的关键属性。 [Date].[Date].Members 表示包括最低层及以上的所有维度。 [Date].[Year].[Year].Members 表示达到年度水平,但不是总计。

【讨论】:

  • 是 [Date].[Year].[Year].Members 还是 [Date].[Year].Members?
  • @MerinNakarmi [日期].[年份].[年份].成员。添加第二个年份会消除所有成员(总计)并确保我们的计算不适用于高于年份级别。
【解决方案2】:

我发现最好的方法是使用带有 AFTER 描述标志的 Descendants 函数:

SCOPE([Date].[Date].[All], , AFTER);
// Calculations here.
END SCOPE;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多