【问题标题】:MDX - Calculated Member with EXCEPT will not roll-up at all?MDX - EXCEPT 的计算成员根本不会汇总?
【发布时间】:2014-11-27 14:29:10
【问题描述】:

如果我想按 YTD 聚合度量,我有一个计算成员。我还希望该措施能够在所有维度上汇总。有一维值我不想成为聚合的一部分。问题是当我尝试将其过滤掉时,聚合不会在其他维度上汇总。

这可以为[EK DIM OBJ KONTO] 维度中的所有值返回正确的值,并且在所有维度上都可以正常汇总:

Aggregate
(
  YTD([DATUM D].[Period].CurrentMember)
 ,[Measures].[UTFALL V]
)

当我尝试添加 EXCEPT-statement 以排除 [EK DIM OBJ KONTO] 维度中的一个值时,我得到了错误的结果。计算成员总是返回相同的答案,它不会注意到我试图对其进行切片的维度。

Aggregate
(
    {YTD([DATUM D].[Period].CurrentMember)}
  * 
    {
      Except
      (
        [EK DIM OBJ KONTO].[KTOB2 ID].[KTOB2 ID]
       ,[EK DIM OBJ KONTO].[KTOB2 ID].&[-]
      )
    }
 ,[Measures].[UTFALL V]
)

【问题讨论】:

    标签: mdx aggregate except


    【解决方案1】:

    这违反了 AdvWorks 多维数据集,但似乎有效:

    WITH 
      MEMBER [Measures].SumYtd AS 
        Aggregate
        (
          {YTD()}
         ,[Measures].[Internet Sales Amount]
        ) 
      MEMBER [Measures].SumException AS 
        Aggregate
        (
            {YTD()}
          * 
            {
              Except
              (
                [Customer].[Customer Geography].[Country].MEMBERS
               ,[Customer].[Customer Geography].[Country].&[United States]
              )
            }
         ,[Measures].[Internet Sales Amount]
        ) 
    SELECT 
      {
        [Measures].[Internet Sales Amount]
       ,[Measures].SumException
       ,[Measures].SumYtd
      } ON 0
     ,[Date].[Calendar].[Month].&[2007]&[11].Children ON 1
    FROM [Adventure Works];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多