在Descendants函数中使用[Date]维度中的自定义成员

时间:2014-10-17 16:22:12

标签: mdx

1.这有效:

MEMBER [Measures].[DaysComplete] AS
  Descendants
  (
    Tail([Date].[Date - Calendar Month].[Calendar Month]).Item(0) 
   ,[Date].[Date - Calendar Month].[Calendar Day]
   ,SELF
  ).Count 

预期10月1日至16日在我们的立方体中返回16

2.这不起作用:

MEMBER [Date].[Date - Calendar Month].[Month] AS
    Tail([Date].[Date - Calendar Month].[Calendar Month]).Item(0) 
MEMBER [Measures].[DaysComplete] AS
  Descendants
  (
    [Date].[Date - Calendar Month].[Month] 
   ,[Date].[Date - Calendar Month].[Calendar Day]
   ,SELF
  ).Count 

返回整数0

为什么2.返回0?

1 个答案:

答案 0 :(得分:1)

在第二种方法中,您创建[Date].[Date - Calendar Month]层次结构的 new 成员,但不创建对现有成员的引用。这个新成员 - 就​​像所有计算成员一样 - 没有任何后代。

如果您在计算中需要原始成员而不是新成员,那么您可以使用仅包含此成员的命名集来绕过该成员。集合 - 即使它本身是一个新对象 - 将包含原始成员,而不是新成员。 我会认为

SET [My Month] AS
    Tail([Date].[Date - Calendar Month].[Calendar Month]) 
MEMBER [Measures].[DaysComplete] AS
  Descendants
  (
    [My Month].Item(0)
   ,[Date].[Date - Calendar Month].[Calendar Day]
   ,SELF
  ).Count 

会实现您的期望。