BNF表記法の理解

EssbaseのMDX文法ルールは、このドキュメント全体でバッカスナウア記法(BNF)の構文表記法を使用して表されています。BNFの読解を習得すると、Essbase分析およびデータ抽出に役立つ文または式を記述する際に、MDX構文を理解する一助となります。

この項では、このMDXドキュメントで文法を説明するために使用される記号表記の意味について簡単に説明します。次の規則の表は、BNFの完全な説明ではありませんが、本書に示されている文法ルールの読解に役立ちます。

表4-2 BNF表記法の要素

記号 説明

<word>

(山カッコ内の単語。)

山カッコで囲まれた単語は、文中で文字どおり使用されることを意図したものではありません。このルールは他の場所でさらに定義されています。

次の構文の読み方

SELECT <axis-specification> ...

ご存知のように、axis-specificationは、文に文字どおり入力することを意図したものではありません。axis-specificationのルールは、本書でさらに定義されています(定義については、<axis-specification> ::=を検索)。

<word> ::=

(山カッコで囲まれた単語の直後に記号::=が続く)

定義、またはBNF "生成物"。記号::=は、そのように定義されていることを意味すると解釈できます。

他の場所でプレースホルダ<word>と呼ばれる単語は、<word> ::=の直後に定義されます。

次の構文は、tupleが、カッコ内の1つのメンバー、またはカッコ内の2つ以上のカンマ区切りのメンバーとして定義されていることを示しています。

<tuple> ::= 
'(' <member> [,<member>]... ')'
        

|

パイプ記号または"OR"記号。

他の選択肢の前に配置されます。記号|は、"または"を意味すると解釈できます。

次の構文:

ON COLUMNS|ROWS|PAGES|CHAPTERS|SECTIONS

次のリテラル文部分のいずれかを構築するために使用できます。

  • ON COLUMNS

  • ON ROWS

  • ON PAGES

  • ON CHAPTERS

  • ON SECTIONS

WORD

(すべて大文字のテキスト。)

文字どおり入力されるquery-grammarキーワード。

次の構文の読み方

SELECT <axis-specification> ...

ご存知のように、SELECTはキーワードであるため、文内の適切な場所に文字どおり入力する必要があります。

[<word>]または[word]または[WORD]

(単語またはアイテムを囲む大カッコ。)

オプションの要素。

次の高レベルの問合せ構文:

[<with_section>]
SELECT [<axis_specification>
 [, <axis_specification>...]]
FROM [<cube_specification>]
[WHERE [<slicer_specification>]]
                

SELECTとFROMを除いて、技術的にはすべてがオプションです。そのため、単語のみを含む問合せ

SELECT FROM

実際には有効です。ただし、キューブ・コンテキストの最良の推定値から1つの連結データ値を選択するため、あまり役に立たない可能性があります。

[, <word>...]

(カンマ、単語、省略記号はすべて大カッコで囲まれています。)
オプションで、1つ以上の<words>のカンマ区切りリストを追加できます。

次の構文

SELECT [<axis_specification>
 [, <axis_specification<...]]

複数のカンマ区切りの軸仕様をオプションでSELECT文に指定できることを示します。