IIF
EssbaseのMDX IIF関数は、条件付きテストを実行し、テストの評価がtrueかfalseかに応じて、適切な数式またはセットを返します。
構文
IIF ( search_condition, true_part, false_part )
パラメータ
例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 |