Case
CASEキーワードは、条件式を開始します。 CASEを使用して実行できる2つのタイプの条件テストがあります: 単純なcase式と検索case式。
構文
単純なcase式はcase_operandを評価し、WHEN句またはELSE句で指定された値に基づいて結果を返します。 case式の結果は、値式またはセットです。 ELSE句が指定されず、WHEN句のいずれも一致しない場合は、空の値/空のセットが返されます。
CASE
case_operand
simple_when_clause...
[ else_clause ]
END検索されたcase式では、各WHEN句によって、検索条件と、その検索条件が満たされた場合に返されるresultが指定されます。 WHEN句は、指定した順序で評価されます。 結果は、検索条件がTRUEと評価された最初のWHEN句から返されます。 結果は、値式またはセットです。 ELSE句が指定されておらず、WHEN句のどの検索条件もTRUEと評価されない場合は、空の値/空のセットが返されます。
CASE
searched_when_clause...
[ else_clause ]
ENDパラメータ
- case_operand
-
評価する式。
- simple_when_clause
-
WHEN/THEN文。 構文:
WHEN when_operand THEN result-
when_operand: 値式。
-
result: 数値式、文字列値式またはセット。
-
- else_clause
-
オプション。 構文:
ELSE numeric_value_expression | set | string_value_expression - searched_when_clause
-
WHEN/THEN文。 構文:
WHEN search_condition THEN result-
search_condition: 値式。
-
result: 数値式、文字列値式またはセット。
-
例
単純なcase式の例
次の問合せでは、計算済メンバー[Measures].[ProductOunces]は、Productディメンションの現在のメンバーのOunce属性の値に基づいて評価されます。
WITH MEMBER [Measures].[ProductOunces] AS
'Case Product.CurrentMember.Ounces
when 32 then 32
when 20 then 20
when 16 then 16
when 12 then 12
else 0
end'
SELECT
{ [Measures].[ProductOunces] } ON COLUMNS,
{ [Product].Members } ON ROWS
FROM Sample.Basicこの問合せは、次の結果を返します:
表4-43 MDXからの出力グリッドの例
| (軸) | ProductOunces |
|---|---|
| 製品 | 0 |
| コーラ | 0 |
| コーラ | 12 |
| Diet Cola | 12 |
| カフェインなしコーラ | 16 |
| ルート・ビール | 0 |
| 従来タイプ | 12 |
| ダイエット・ルート・ビール | 16 |
| サルサパリラ | 12 |
| カバ・ビール | 16 |
| Cream Soda | 0 |
| ダーク・クリーム | 20 |
| Vanilla Cream | 20 |
| Diet Cream | 12 |
| Fruit Soda | 0 |
| ワイン | 32 |
| オレンジ | 32 |
| イチゴ | 32 |
| Diet Drinks | 0 |
| Diet Cola | 0 |
| ダイエット・ルート・ビール | 0 |
| Diet Cream | 0 |
検索されたcase式の例
次の問合せは、Profitに基づいて製品を異なる利益カテゴリに分割し、各製品のカテゴリを返します。
WITH MEMBER [Measures].[ProfitCategory] AS
' Case
when Profit > 10000 then 4
when Profit > 5000 then 3
when Profit > 3000 then 2
else 1
end'
SELECT
{ [Measures].[ProfitCategory] } ON COLUMNS,
{ [Product].Members } ON ROWS
FROM Sample.Basicこの問合せは、次の結果を返します:
表4-44 MDXからの出力グリッドの例
| (軸) | ProfitCategory |
|---|---|
| 製品 | 4 |
| コーラ | 4 |
| コーラ | 4 |
| Diet Cola | 3 |
| カフェインなしコーラ | 1 |
| ルート・ビール | 4 |
| 従来タイプ | 3 |
| ダイエット・ルート・ビール | 4 |
| サルサパリラ | 2 |
| カバ・ビール | 2 |
| Cream Soda | 4 |
| ダーク・クリーム | 4 |
| Vanilla Cream | 1 |
| Diet Cream | 4 |
| Fruit Soda | 4 |
| ワイン | 4 |
| オレンジ | 3 |
| イチゴ | 1 |
| Diet Drinks | 4 |
| Diet Cola | 3 |
| ダイエット・ルート・ビール | 4 |
| Diet Cream | 4 |
関連項目