Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

セット式

このセクションでは、DeepSee MDX でセット式を作成し、使用する方法について説明します。

詳細

セット式の一般的な構文は以下のとおりです。

{expression1, expression2, ...}

このリストには、項目を任意の数だけ含めることができます。DeepSee MDX では、リスト内の項目が 1 つだけの場合、中括弧を省略できます。

このリストでは、expression1expression2 (以降同様) の形式は以下のいずれかです。

  • メンバ式

  • 数値式または文字列式

  • 以下のように指定された、ある範囲のメンバ。

    member1:member2
    

    この式は、指定された 2 つのメンバとその間のすべてのメンバで構成されるセットを返します (これらのメンバを含むレベル内のメンバの順序が指定されている場合)。これらのメンバは、同じレベルに属している必要があります。

    以下はその例です。

    birthd.year.1960:birthd.year.1980
    

    member2 では、ディメンジョン、階層、およびレベルの識別子を省略できます。以下はその例です。

    birthd.year.1960:1980
    
  • セットを返す MDX 関数を使用する式。以下に例を示します。

    homed.zip.MEMBERS
    

    MEMBERSNONEMPTYCROSSJOINORDER など、MDX 関数の多くがセットを返します。

    %TERMLIST はセットを返せることに注意してください。

  • 別のセット式。

  • 名前付きセットの名前。次のセクションを参照してください。

  • タプル式

    (MDX の他の実装では、セット内の各タプルにおいて、セット内の他のタプルと同じ順序でディメンジョンを使用する必要があります。例えば、最初のタプルがその最初のリスト項目にディメンジョン A を使用している場合、他のすべてのタプルも同様にする必要があります。DeepSee MDX には、この制約はありません。同様に、MDX の他の実装では、タプルと他のタイプのセット要素の組み合わせをセットに含めることはできません。DeepSee MDX には、この制約もありません)。

  • セット式を含むピボット変数への参照。ピボット変数を参照するには、以下の構文を使用します。

    $VARIABLE.variablename
    

    variablename は論理変数名です。この式は角括弧で囲まないでください。この構文では大文字と小文字は区別されません。ピボット変数名も同様です。

    ピボット変数の定義に関する詳細は、"DeepSee アナライザの使用法" の “ピボット変数の定義と使用” を参照してください。

キーワード句 NON EMPTY を任意のセット式の先頭に付加できます。以下はその例です。

NON EMPTY {birthd.year.1960:1980}
NON EMPTY birthd.year.1960:1980
NON EMPTY {homed.zip.MEMBERS}
NON EMPTY homed.zip.MEMBERS

NON EMPTY キーワード句は、セットの空の要素を抑制します。すなわち、セットが評価され、空の要素は削除されます。このキーワードは、CROSSJOIN を使用し、フィルタによって要素が NULL になる可能性があるシナリオで特に役に立ちます。

名前付きセット

名前付きセットは、セット名とセット式という 2 つの要素で構成されます。名前付きセットは、以下の 2 つの方法で定義できます。

  • クエリの WITH 節の中。このセット名は、クエリの残りの部分で使用可能ですが、他のクエリでは使用できません。

  • CREATE SET 文の中。この名前付きセットは、セッションの残りの部分 (MDX シェルのセッションの残りの部分など) で使用可能です。

用途

セット式は、以下の方法で使用できます。

  • 多くの MDX 関数のセット引数として。一部の関数では、セットはメンバのみで構成されている必要があります。また、セットがメンバまたはタプルのみで構成されている必要のある関数もあります。このドキュメントでは、必要に応じてこれらの要件を記述します。

  • SELECT 文の軸として。

  • 前のサブセクションの説明のとおりに、名前付きセットの定義として。

FeedbackOpens in a new tab