MDX軸の指定
軸仕様は、1つのセットと1つ以上の軸キーワードで構成されます。
<axis_specification> :: =
[NON EMPTY] <set> ON COLUMNS|ROWS|PAGES|CHAPTERS|SECTIONS|AXIS(<unsigned_integer>)
次の概念を理解すると、多くのSELECT問合せの軸指定の作成に役立ちます
軸の順序
複数の軸を指定する場合は、軸をスキップできません。 たとえば、列軸がある場合にのみ行軸を指定できます。 ページ軸を指定できるのは、列軸と行軸もある場合のみです。
また、順序を使用して軸を表すこともできます。 たとえば、<set> ON AXIS(0)、<set> ON AXIS(1)などを指定できます。
最大64個の軸を指定できます(ただし、通常は2つのみ使用します)。 最初の5つの序数軸には、キーワード別名があります:
表4-4 軸キーワードおよび対応する序数表記法
Axisキーワード | 軸序数 |
---|---|
COLUMNS |
AXIS(0) (何も指定されていない場合のデフォルト)
|
ROWS |
AXIS(1) |
PAGES |
AXIS(2) |
CHAPTERS |
AXIS(3) |
SECTIONS |
AXIS(4) |
例:
SELECT set1 ON COLUMNS,
set2 ON ROWS
FROM Sample.Basic
次と同じです:
SELECT set1 ON AXIS(0),
set2 ON AXIS(1)
FROM Sample.Basic
どちらも、次の形式の仮想データ・キューブ(またはサブセット)を返します:
表4-5 データの仮説サブセット
(軸) | set1のメンバー名 |
---|---|
set2のメンバー名 | set1メンバーとset2メンバーの交差にあるデータ |
前述の例は、setに値が指定されるまでキューブを戻さないため、仮想です。 次の例では、set1およびset2を実際のセットに置き換えます:
SELECT
{[100-10], [100-20]} ON COLUMNS,
{[Qtr1], [Qtr2], [Qtr3], [Qtr4]} ON ROWS
FROM Sample.Basic
次の結果が返されます:
表4-6 MDXからの出力グリッドの例
(軸) | 100-10 | 100-20 |
---|---|---|
Qtr1 | 5096 | 1359 |
Qtr2 | 5892 | 1534 |
Qtr3 | 6583 | 1528 |
Qtr4 | 5206 | 1287 |
セットの指定
各軸のセットは、様々な方法で表すことができます。
SELECT
{ }
ON COLUMNS
from sample.basic
セットに対して何も選択できないことを示しています。 ただし、セル値は返されません。 次のルールが適用されます:
-
いずれかの軸に空のセットが含まれている場合、セル値は返されません。 セットに1つ以上のタプルがある軸には、そのタプルが返されます。
-
軸がまったくない場合は、各ディメンションのデフォルト・メンバーを使用して1つのセルのみが戻されます。 スライサ・タプル(存在する場合)は、それぞれのディメンションのデフォルト・メンバーをオーバーライドします。
SELECT
{ ( [Year].[Qtr2] ) }
ON COLUMNS
from sample.basic
に、単一のタプルを含むセットの使用方法を示します。
セットの詳細は、「MDXセット指定」を参照してください。
NON EMPTY
NON EMPTYを含む軸指定構文を次に示します:
<axis_specification> ::=
[NON EMPTY] <set> ON
COLUMNS | ROWS | PAGES | CHAPTERS |
SECTIONS | AXIS (<unsigned_integer>)
軸に設定された指定の前にオプションのキーワードNON EMPTY
を含めると、完全に#MISSING値を含むその軸のスライスが抑制されます。
軸上の特定のタプル((Qtr1, Actual)
など)について、スライスは、このタプルを他のすべての軸のすべてのタプルと組み合せることで発生するセルで構成されます。 これらのセル値がすべて#MISSINGの場合、NON EMPTYキーワードを指定するとタプルが削除されます。
たとえば、行の1つの値も空でない場合は、行全体が返されます。 行軸の指定の先頭にNON EMPTYを含めると、問合せによって返されるセットから次の行スライスが削除されます:
表4-7 MDXからの出力グリッドの例
Qtr1 | |||||
---|---|---|---|---|---|
実績 | #Missing | #Missing | #Missing | #Missing | #Missing |
別の例については、Tail関数を参照してください。
ノート:
NON EMPTY
構文は、「MDXサブ選択」軸仕様ではサポートされていません。
MDXで最適なデータ・エクスポートのパフォーマンスを実現するために、軸上のNON EMPTY
仕様は「MDXエクスポート」では無視されます。
ディメンション・プロパティ
MDX文法のプロパティは、属性およびUDAのEssbase概念を参照します。
プロパティ指定を含む軸指定構文を次に示します:
<axis_specification> ::=
[NON EMPTY] <set> [<dim_props>] ON
COLUMNS | ROWS | PAGES | CHAPTERS |
SECTIONS | AXIS (<unsigned_integer>)
前述の構文に示すように、プロパティ指定は軸のセット指定に従うことができます。
プロパティの詳細は、「MDXプロパティについて」を参照してください。