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 |
関連項目