MDX軸仕様
EssbaseでのMDX軸仕様は、セットと1つ以上の軸キーワードで構成されます。
<axis_specification> :: =
[NON EMPTY] <set> ON COLUMNS|ROWS|PAGES|CHAPTERS|SECTIONS|AXIS(<unsigned_integer>)
次の概念を理解すると、Essbaseデータベースに対する多くのSELECT問合せの軸仕様を作成するのに役立ちます。
軸の順序
複数の軸を提供する場合、軸をスキップすることはできません。たとえば、列軸がある場合にのみ、行軸を指定できます。列軸と行軸もある場合にのみ、ページ軸を指定できます。
序数を使用して軸を表すこともできます。たとえば、<set> ON AXIS(0), <set> ON AXIS(1)などを指定できます。
最大64個の軸を指定できます。ただし、2つだけを使用するのが一般的です。最初の5つの順序軸には、キーワード別名があります。
表4-4 軸のキーワードと対応する序数表記
軸キーワード | 軸序数 |
---|---|
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をSample Basicの実際のメンバー・セットに置き換えます:
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 | |||||
---|---|---|---|---|---|
Actual | #Missing | #Missing | #Missing | #Missing | #Missing |
別の例については、Tail関数を参照してください。
ディメンション・プロパティ
MDX文法の1つのプロパティであり、属性とUDAのEssbaseの概念を参照します。
プロパティ仕様は、軸のセット仕様に従うことができます。プロパティ仕様を含む軸仕様構文を以下に示します。
<axis_specification> ::=
[NON EMPTY] <set> [<dim_props>] ON
COLUMNS | ROWS | PAGES | CHAPTERS |
SECTIONS | AXIS (<unsigned_integer>)
プロパティの詳細は、MDXプロパティについてを参照してください。