1

計算を3つのグループに分割する必要があります。-基本セルのみに適用(葉)-すべてのセルに適用-統合セルのみに適用(上位階層レベルのセル)たとえば、階層は次のとおりです。年-四半期-月。この階層の基本セルは「月」にあり、セルは「年」と「四半期」に統合されています。

ベースセルの場合、次の「スコープ」を記述できます。

SCOPE (
   [Measures].[Value] ,
   [DimProducts].[Name].[Donut] , 
   [DimTime].[Month].CHILDREN       // month only
      );
THIS = [Measures].[Value]*2+100500;
END SCOPE;

そして、セルを統合するための「スコープ」の書き方がわかりませんか?次のような階層レベルごとに「スコープ」を作成することはできません。

SCOPE (
   [Measures].[Value] ,
   [DimProducts].[Name].[Donut] , 
   [DimTime].[Quarter].CHILDREN    // quarter only
      );
...
END SCOPE;
SCOPE (
   [Measures].[Value] ,
   [DimProducts].[Name].[Donut] , 
   [DimTime].[Year].CHILDREN       // year only
      );
...
END SCOPE;

多くのディメンションと階層レベルがあり、それらすべてに計算を適用する必要があるためです。たぶん私の問題の簡単な方法はありますか?

4

1 に答える 1

2

のサブキューブ式でMDX関数を使用できますSCOPE

Year -Quarter-Monthユーザー階層にYearQuarterMonthレベルがあるとすると、次の式を使用して、 Monthレベルより上のレベルに対処できます。

SCOPE ( [Measures].[Value]
      , [DimProducts].[Name].[Donut]
      , Descendants( [DimTime].[Year-Quarter-Month].[All]
                   , [DimTime].[Year-Quarter-Month].[Quarter]
                   , SELF_AND_BEFORE
                   )
      );
...
END SCOPE;

参照:

于 2012-05-25T18:12:00.180 に答える