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]}