論理式 (MDX)
このセクションでは、InterSystems MDX で論理式を作成し、使用する方法について説明します。
詳細および使用法
MDX には、論理データ型は含まれていません。ただし、FILTER 関数と IIF 関数が用意されており、両方とも True または False として扱われる引数を取ります。これらのコンテキストでは、InterSystems MDX は以下のように、数値および文字列値を 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)
タイプの異なるスカラ値を比較する場合、システムは以下のように比較します。
条件 | 結果 |
---|---|
両方の式が数値 | 数値比較を実行する |
両方の式が文字列 | 文字列比較を実行する |
片方の式が数値で、片方が文字列 | 文字列式より数値式が小さい |
メンバ式を論理比較式で使用することはできません。例えば、以下は有効な論理式ではありません。
homed.CURRENTMEMBER = homed.h1.city.magnolia
代わりに、Name プロパティなどの適切なプロパティ (すべて文字列) を使用する必要があります。例えば、以下は有効な論理式です。
homed.CURRENTMEMBER.Properties("Name") = "magnolia"
ユーザが使用できる内部プロパティについては、参照セクション "内部プロパティ" を参照してください。
"メジャー検索式" のセクションも参照してください。