MDX演算子

MDX演算子(算術、条件および論理、ブール)は、Essbaseに対するMDX式および問合せを作成する際に、式を定義するのに役立ちます。演算子は、MDX問合せで数値式の一部として使用することも、検索条件を使用してテストすることもできます。

算術演算子

表4-15 MDXの算術演算子

演算子 定義
+ 加算。単項演算子としても使用できます。
- 減算。単項演算子としても使用できます。たとえば、-5, -(Profit)です。
* 乗算。
/ 除算。
% 割合を評価します。たとえば、Member1%Member2は、Member1をMember2の割合として評価します。ノート: 集約ストレージのアウトライン式に%演算子を含めることはできません。アウトライン式では、%は式(value1/value2)*100)に置き換えます。

条件および論理演算子

条件演算子は2つのオペランドを取得し、それらの間の関係をチェックして、TRUEまたはFALSEを返します。

表4-16 MDXでの条件および論理演算子

演算子 定義
> データ値は大なり。
< データ値は未満。
= データ値は等しい。
<> データ値は等しくない。
>= データ値は以上。
<= データ値は以下。
IN IN演算子の構文は次のとおりです。
<property> IN <member>|<character_string_literal>

最初の引数<property>は、属性プロパティである必要があります。たとえば、次の例のPopulationです。

2番目の引数<member>または<character_string_literal>は、レベル0メンバーでも世代1メンバーでもない、属性メンバーである必要があります。たとえば、次の例のMediumです。

次のフィルタは、Marketディメンションの現在のメンバーのPopulationプロパティ(属性)を評価します。

 Filter ([Market].Members, Market.CurrentMember.Population IN Medium)

現在のメンバーのpopulation属性がMediumの場合、式はTRUEを返します。

IS IS演算子の構文は、member1 IS member2です。IS演算子は、IS関数と同等です。詳細と例については、IS関数を参照してください。

ブール演算子

ブール演算子は、条件付きテストを実行するために、Filter、Case、IIF、Generateの各関数で使用できます。ブール演算子は、ブール・オペランド(TRUE値またはFALSE値)を操作します。

ブール値を返すMDX関数も参照してください。

表4-17 MDXのブール演算子

演算子 定義
AND 複数値テストの論理ANDリンク演算子。両方の条件がTRUEの場合、結果はTRUEです。それ以外の場合、結果はFALSEです。ANDを使用する例については、IsValidを参照してください。
OR 複数値テストの論理ORリンク演算子。いずれかの条件がTRUEの場合、結果はTRUEです。それ以外の場合、結果はFALSEです。
NOT 論理NOT演算子。条件がFALSEの場合、結果はTRUEです。条件がTRUEの場合、結果はFALSEです。NOTを使用する例については、IsEmptyを参照してください。
XOR 複数値テスト用の論理XORリンク演算子。1つの条件のみがTRUEの場合、結果はTRUEになります。それ以外の場合、結果はFALSEです。