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 で論理式を作成し、使用する方法について説明します。

詳細および使用法

MDX には、論理データ型は含まれていません。ただし、FILTER 関数と IIF 関数が用意されており、両方とも True または False として扱われる引数を取ります。これらのコンテキストでは、DeepSee MDX は以下のように、数値および文字列値を True または False と解釈します。

  • 0 に評価される数値式は False として扱われます。

  • 他のすべての数値式は、True として扱われます。

  • すべての文字列式は False として扱われます。

同じコンテキストで、以下の標準ツールを使用して True 値と False 値を組み合わせることができます。

  • 論理比較演算子 : > (より大きい)、>= (以上)、= (等しい)、< (より小さい)、<= (以下)。例えば、以下の式は、MEASURES.[%COUNT] の値に応じて、True または False を返します。

    MEASURES.[%COUNT]>1100
    

    別の例として、以下の式は、現在のメンバの名前に応じて、True または False を返します。

    colord.CURRENTMEMBER.PROPERTIES("Name")="Red"
    

    数値式と NULL を比較する場合、NULL 値は 0 として扱われます。

  • AND 演算子、OR 演算子、および優先順位を制御する括弧。例えば、以下の式は、MEASURES.[%COUNT] の値に応じて、True または False を返します。

    (MEASURES.[%COUNT]>1100) AND (MEASURES.[%COUNT]<1500)
    

タイプの異なるスカラ値を比較する場合、DeepSee は以下のように比較します。

条件 結果
両方の式が数値 数値比較を実行する
両方の式が文字列 文字列比較を実行する
片方の式が数値で、片方が文字列 文字列式より数値式が小さい

メンバ式を論理比較式で使用することはできません。例えば、以下は有効な論理式ではありません。

homed.CURRENTMEMBER = homed.h1.city.magnolia

代わりに、Name プロパティなどの適切なプロパティ (すべて文字列) を使用する必要があります。例えば、以下は有効な論理式です。

homed.CURRENTMEMBER.Properties("Name") = "magnolia"

ユーザが使用できる内部プロパティについては、参照セクション “内部プロパティ” を参照してください。

メジャー検索式” のセクションも参照してください。

FeedbackOpens in a new tab