Descendants
指定されたレベルまたは距離のメンバーの子孫のセットを戻します。オプションで、他のレベルの子孫を含めるか除外します。 メンバーは階層順に戻されます。たとえば、親メンバーの後に子メンバーが続きます。
構文
Descendants ( member , [{ layer | index }[, Desc_flags ]])
パラメータ
ノート
Desc_flagsの値
すべてのフラグについて、SELFはlayerを指します。したがって、BEFOREは「レイヤーの前」を示し、AFTERは「レイヤーの後」を示します。
-
SELF
-memberがレイヤー内にある場合にのみ、memberを含むlayerのメンバーのみを含めます。 -
AFTER
-layerの下にメンバーを含めますが、layerのメンバーは含めません。 -
BEFORE
-memberおよびlayerより上位のすべての子孫(layerおよびそれより下位のものを除く)を階層に含めます。 -
BEFORE_AND_AFTER
-memberとそのすべての子孫をレベル0まで含めますが、layerのメンバーは除外します。 -
SELF_AND_AFTER
-layerおよびlayerの下のすべての子孫にメンバーを含めます。 -
SELF_AND_BEFORE
-memberとそのすべての子孫をlayerまで含めます。 -
SELF_BEFORE_AFTER
-memberとそのすべての子孫を含めます。 -
LEAVES
-memberとlayerの間のlevel-0子孫のみを含めます。
例
次の問合せ
SELECT
Descendants ( [Year] )
ON COLUMNS
FROM sample.basic
グリッドを返します:
表4-55 MDXからの出力グリッドの例
Year | Qtr1 | 1月 | 2月 | 3月 | Qtr2 | 4月 | 5月 | 6月 | Qtr3 | 7月 | 8月 | 9月 | Qtr4 | 10月 | 11月 | 12月 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
12656 | 2747 | 924 | 888 | 935 | 3352 | 1011 | 1071 | 1270 | 3740 | 1334 | 1304 | 1102 | 2817 | 907 | 884 | 1026 |
次の式は、次のセットを返します
Descendants ( [Year], 2 )
Year
の下で見つかったメンバーの範囲である{([Jan]:[Dec])}
を戻します。
Descendants ( [Year], 2, BEFORE )
{[Year], [Qtr1], [Qtr2], [Qtr3], [Qtr4]}
を返します。これは、Year
の下の2つのステップであるレイヤーの前に発生する年とその子孫のセットです。
Descendants ( [Market], [West].level )
West
のレベルで見つかったMarket子孫のセットである{[East], [West], [South], [Central]}
を返します。
Descendants([Market])
これは、Descendants([Market], [Market].level, SELF_BEFORE_AFTER)
と同等です。 Marketのすべての子孫を返します:
{[Market],
[East], [New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire],
[West], [California], [Oregon], [Washington], [Utah], [Nevada],
[South], [Texas], [Oklahoma], [Louisiana], [New Mexico],
[Central], [Illinois], [Ohio], [Wisconsin], [Missouri], [Iowa], [Colorado] }
Descendants([Market], [Region])
Descendants([Market], [Region]), SELF)
と同等です。ここで、[Region]は別名です。 [Region]レベルのすべてのメンバーを戻します:
{[East], [West], [South], [Central]}
Descendants([Market], [State], SELF)
[State]レベルの[Market]のすべての子孫を返します:
{[New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire],
[California], [Oregon], [Washington], [Utah], [Nevada], [Texas],
[Oklahoma], [Louisiana], [New Mexico], [Illinois], [Ohio], [Wisconsin],
[Missouri], [Iowa], [Colorado]}
Descendants([Market], [State], BEFORE)
すべてのリージョンと[Market]を返します:
{[Market], [East], [West], [South], [Central]}
Descendants([Market], [State], AFTER)
[Market]ディメンションに[State]レベルより下位のレベルがないため、空のセットが返されます:
{}
Descendants([Market], [Region], AFTER)
[Market]ディメンションのすべての状態を返します:
{[New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire],
[California], [Oregon], [Washington], [Utah], [Nevada], [Texas],
[Oklahoma], [Louisiana], [New Mexico], [Illinois], [Ohio], [Wisconsin],
[Missouri], [Iowa], [Colorado]}
Descendants([Market], [State], LEAVES)
[Market]レベルと[State]レベルの間のすべてのlevel-0メンバーを返します(両方のレベルを含む):
{[New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire],
[California], [Oregon], [Washington], [Utah], [Nevada], [Texas],
[Oklahoma], [Louisiana], [New Mexico], [Illinois], [Ohio], [Wisconsin],
[Missouri], [Iowa], [Colorado]}
Descendants([Market], 1)
2番目の引数は、[Market]レベル([Region]レベル)から1の距離を指定します。 したがって、この式はDescendants([Market], [Region])と同等です。 次の値が返されます:
{[East], [West], [South], [Central]}
Descendants([Market], 2, SELF_BEFORE_AFTER)
これは、Descendants([Market], [State], SELF_BEFORE_AFTER)
と同等です。 次の値が返されます:
{[Market],
[East], [New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire]
[West], [California], [Oregon], [Washington], [Utah], [Nevada],
[South], [Texas], [Oklahoma], [Louisiana], [New Mexico],
[Central], [Illinois], [Ohio], [Wisconsin], [Missouri], [Iowa], [Colorado] }
Descendants([Market], -1, SELF_BEFORE_AFTER)
負の距離の引数が有効でないため、アプリケーション・ログに警告が出力されます。 式は空のセットを返します:
{}
Descendants([Market], 10, SELF)
[Market]レベルから10の距離にある[Market]の子孫がないため、空のセットを返します。
Descendants([Market], 10, BEFORE)
[Market]のすべての子孫を返します:
{[Market],
[East], [New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire]
[West], [California], [Oregon], [Washington], [Utah], [Nevada],
[South], [Texas], [Oklahoma], [Louisiana], [New Mexico],
[Central], [Illinois], [Ohio], [Wisconsin], [Missouri], [Iowa], [Colorado] }
Descendants([Market], 10, LEAVES)
[Market]のすべてのlevel-0子孫を返します:
{[New York], [Massachusetts], [Florida], [Connecticut], [New Hampshire],
[California], [Oregon], [Washington], [Utah], [Nevada], [Texas],
[Oklahoma], [Louisiana], [New Mexico], [Illinois], [Ohio], [Wisconsin],
[Missouri], [Iowa], [Colorado]}