レベルおよび世代の操作
MDXでは、layerはEssbase階層内の世代およびレベルを参照します。
Essbaseでは、世代番号はディメンション名の1から始まります。世代番号が大きいほど、階層内のリーフ・メンバーに最も近い番号になります。
レベル番号は階層の左端の部分で0から始まり、最上位レベル番号はディメンション名です。
MDX関数の多くは、入力引数として指定したレイヤーを使用し、レイヤー引数で表された世代またはレベルに基づいて設定操作を実行します。
レイヤー引数は、次の方法で指定できます:
-
世代名またはレベル名(
States
やRegions
など)。 -
ディメンション名と世代名またはレベル名(
Market.Regions
や[Market].[States]
など)。 -
ディメンションおよびレベル番号を入力とするレベル関数。 たとえば、
[Year].Levels(0)
などです。 -
メンバーを入力とするLevel関数。 たとえば、
[Qtr1].Level
は、Marketディメンションのレベル1であるSample.Basicの四半期のレベルを返します。 -
ディメンションおよび世代番号を入力とするGenerations関数。 たとえば、
[Year].Generations
(3)
などです。 -
メンバーを入力とする世代関数。 たとえば、
[Qtr1].Generation
は、Marketディメンションの第2世代であるSample.Basicの四半期の生成を返します。
ノート:
Sample.Basicデータベースでは、Qtr1とQtr4は同じレイヤーにあります。 つまり、Qtr1とQtr4も同じ世代です。 ただし、不規則階層を持つ別のデータベースでは、Qtr1とQtr4が同じ世代であっても、必ずしも同じレベルであるとはかぎりません。 たとえば、Qtr1の階層が週にドリルダウンし、Qtr4の階層が月に停止した場合、Qtr1はQtr4よりも上位のレベルになりますが、同じレイヤーになります。