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内のメンバー名 set1set2のメンバーの交差データ

前述の例は、setに値が指定されるまではキューブを返さないため、仮説です。次の例では、set1set2を実際のセットに置き換えます。

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関数を参照してください。

ノート:

NON EMPTY構文は、MDXサブ選択軸の指定ではサポートされていません。

MDXで最高のデータ・エクスポート・パフォーマンスを提供するために、軸のNON EMPTY仕様はMDXエクスポートでは無視されます。

ディメンション・プロパティ

MDX文法の1つのプロパティであり、属性とUDAのEssbaseの概念を参照します。

プロパティ仕様を含む軸仕様構文を以下に示します。

<axis_specification> ::= 
        [NON EMPTY] <set> [<dim_props>] ON 
        COLUMNS | ROWS | PAGES | CHAPTERS | 
        SECTIONS | AXIS (<unsigned_integer>)

前述の構文に示されているように、プロパティ仕様は、軸で設定された仕様に従うことができます。

プロパティの詳細は、MDXプロパティについてを参照してください。