在同一交叉连接中使用多个后代

时间:2017-02-27 19:51:13

标签: mdx

我试图在同一维度(在同一个交叉连接中)使用多个成员来拥有0级后代。

我喜欢这样的事情:

Crossjoin(
   {Descendants(
       [LB_PL_HOME],[LOB].levels(0)
    )
   ,Descendants(
       [LB_PL_OTH],[LOB].levels(0)
    )
   },

只有我无法使用该语法。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

这不起作用:

Descendants(
   [LB_PL_HOME]
  ,[LOB].levels(0)
)

我认为它不起作用,因为它看起来不像[LB_PL_HOME][LOB] - 你只能在同一级别找到一个成员的指定级别的成员尺寸。例如对于指定年份,我将被允许在日级别找到成员,因为年份和日期是相关的。

如果[LB_PL_HOME][LOB]来自不同的维度,那么您可以执行以下操作:

NonEmpty(
   [LOB].levels(0).MEMBERS
  ,[LB_PL_HOME]
)

您的下一个问题是您不允许从同一层次结构中交叉加入成员,但您可以将它们全部放入同一个集合中:

{
  NonEmpty(
     [LOB].levels(0).MEMBERS
    ,[LB_PL_HOME]
  )
  ,NonEmpty(
     [LOB].levels(0).MEMBERS
    ,[LB_PL_OTH]
  )
}