IIF

EssbaseのMDX IIF関数は、条件付きテストを実行し、テストの評価がtrueかfalseかに応じて、適切な数式またはセットを返します。

構文

IIF ( search_condition, true_part, false_part )

パラメータ

search_condition

真または偽として評価する式(MDX文法ルールを参照)。

true_part

1つのvalue_expressionまたは1つのset。検索条件がTRUE(ゼロ以外)と評価された場合、IIFはこの式を返します。

value_expressionは、数値式または文字列値式にすることができます。

false_part

1つのvalue_expressionまたは1つのset。検索条件がFALSE(ゼロ)と評価された場合、IIFはこの式を返します。

value_expressionは、数値式または文字列値式にすることができます。

例1

同社はカフェイン入り飲料の高額なプロモーションを計画しています。Caffeinated製品の場合のみ、次の問合せは通常の予算の110%であるRevised Budgetを計算します:

WITH MEMBER 
 [Scenario].[Revised Budget] 
AS
 'IIF (
      [Product].CurrentMember.Caffeinated,
      Budget * 1.1, Budget
 )'
SELECT
 {[Scenario].[Budget], [Scenario].[Revised Budget]}
ON COLUMNS,
 [Product].Levels(0).Members
ON ROWS
FROM Sample.Basic
WHERE ([Measures].[Sales], [Year].[Qtr3])

この問合せが返すグリッドは次のとおりです。

表4-81 MDX例からの出力グリッド

(軸) Budget Revised Budget
100-10 18650 20515
100-20 8910 9801
100-30 3370 3370
200-10 11060 12166
200-20 9680 10648
200-30 3880 3880
200-40 2660 2660
300-10 10600 11660
300-20 3760 4136
300-30 8280 9108
400-10 7750 7750
400-20 6800 6800
400-30 3290 3290
100-20 8910 8910
200-20 9680 9680
300-30 8280 8280

例2

次の問合せは、カフェイン入り製品のBudgetに等しいRevised Budgetと、カフェインなし製品のActualを計算します:

WITH MEMBER 
 [Scenario].[Revised Budget] 
AS
 'StrToMbr(IIF (
      [Product].CurrentMember.Caffeinated,
      "Budget" , "Actual"
 ))'
SELECT
 {[Scenario].[Budget], [Scenario].[Revised Budget]}
ON COLUMNS,
Children([100])
ON ROWS
FROM Sample.Basic
WHERE ([Measures].[Sales], [Year].[Qtr3])

この問合せが返すグリッドは次のとおりです。

表4-82 MDX例からの出力グリッド

(軸) Budget Revised Budget
Cola 18650 18650
Diet Cola 8910 8910
Caffeine Free Cola 3370 3189