通知

この記事では、Looker Studio について説明します。Looker のドキュメントについては、https://cloud.google.com/looker/docs/intro をご覧ください。

CASE

条件のリストを評価し、最初に一致する結果式を返します。

CASE では 1 つ以上の条件を定義し、条件が満たされると結果が返されます。どの条件にも該当しない場合のデフォルトの結果も定義できます。

この記事の内容:

CASE は一般的に、データの新しいカテゴリやグループを作成する場合に使用されます。たとえば、特定の国の値を「営業地域」ディメンションにまとめるには、次のような CASE 式を作成します。

CASE 
    WHEN Country IN ("USA","Canada","Mexico") THEN "North America" 
    WHEN Country IN ("England","France") THEN "Europe" 
    ELSE "Other" 
END

検索 CASE 式の仕組み

CASE 式は CASE キーワードで始まり、END キーワードで終わります。その間に、以下のようなセクションまたは「節」を指定します。

  • WHEN: 評価の対象となる条件。1 つの CASE 式に複数の WHEN 節を含めることができます。
  • THEN: WHEN 節の条件が true の場合に返される結果。CASE 式内の WHEN 節ごとに 1 つの THEN 節を指定する必要があります。
  • ELSE: 省略可。WHEN 節のどの条件も true にならなかった場合、CASEELSE 節の値を返します。ELSE 節が指定されていない場合は、NULL を返します。

CASE は、後に続く各 WHEN 節を評価し、条件が true になる最初の結果を返します。残りの WHEN 節と ELSE 結果は評価されません。すべての WHEN 条件が false または NULL である場合、CASEELSE 結果を返します。ELSE 節が指定されていない場合は NULL を返します。

検索 CASE 式の構文


CASE
    WHEN condition THEN result
    [WHEN condition THEN result]
    [...]
    [ELSE else_result]
END

パラメータ

WHEN 条件

WHEN 条件は与えられたデータを評価し、指定された条件が満たされていれば true、満たされていなければ false を返します。WHEN 条件には、有効なブール式を使用できます。

THEN 結果

WHEN 条件には、対応する THEN 節が必要です。THEN 節では、条件が満たされた場合に返す結果を指定します。WHEN 条件が複数ある場合、CASE 式では最初に true になった条件の結果が返されます。

注意事項

THEN 節で返される結果は、すべて同じ型でなければなりません。

たとえば、最初の THEN 節で返される値がテキストであれば、他の THEN 節および ELSE 節でもテキストを返す必要があります。

ELSE else_result

省略可能な ELSE 節では、デフォルトの結果を指定します。WHEN 節の条件がどれも満たされなかった場合、この値が返されます。CASE 式に ELSE 節が含まれておらず、WHEN 節のどの条件も満たされなかった場合は、NULL が返されます。

1 つの CASE 式に指定できる ELSE 節は 1 つだけです。

その他の例

大小関係を確認する

CASE WHEN Medium != "cpc" THEN "free" ELSE "paid" END
単純な条件の場合は、IF 関数の使用を検討してください。

数値ディメンションの値を複数のバケットに分類する

たとえば、注文金額に基づいて注文を「Small」、「Medium」、「Large」に分類することができます。

CASE
    WHEN Amount < 20 THEN "Small"
    WHEN Amount >= 20 and Amount < 100 THEN "Medium"
    WHEN Amount >= 100 THEN "Large"
END
グループ計算フィールドを使用して、ディメンション値のアドホックなグループを作成することもできます。

AND 論理条件を評価する

CASE 
    WHEN Country ISO Code = "US" AND Medium = "cpc" 
    THEN "US - Paid" 
    ELSE "other" 
END

AND / OR 論理条件を評価する

CASE 
    WHEN REGEXP_MATCH(Video Title, ".*Google Analytics*")
    AND is_livestream = TRUE 
    OR Video Length > 600 
    THEN "GA Livestream or long video" 
END

パラメータを評価する

たとえば、「Sales Target」パラメータを設定し、目標を達成した注文を確認できるようにすることができます。

CASE WHEN Qty Sold >= Sales target parameter THEN 1 ELSE 0 END


パラメータ値に応じて、異なるフィールドまたは値を返す

最初の例では、選択されたパラメータ値に基づいてディメンションが返されます。この手法を使用すると、グラフで使用されている内訳ディメンションをユーザーが切り替えられるようにすることができます。

2 番目の例は、パラメータ値に基づいて異なる指標を返す方法を示しています。

CASE 
    WHEN Breakdown = "Product Category" THEN Product Category 
    WHEN Breakdown = "Store" THEN Store 
END


## 注: 同じことを単純 CASE 式の構文で記述すると、次のようになります。

CASE Breakdown 
    WHEN "Product Category" THEN Product Category
    WHEN "Store" THEN Store
END

CASE WHEN Show Adjusted Cost = TRUE THEN Cost + Adjustments ELSE Cost END

CASE 文をネストする

CASE 文をネストして、複雑な分岐ロジックを作成できます。

CASE WHEN REGEXP_CONTAINS(SKU, "Hats") THEN
   CASE WHEN Color = "blue"
        THEN "BLUE HAT"
        ELSE "JUST A HAT"
   END 
ELSE 
  "NOT A HAT"
END

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。
true
Looker Studio の新機能

新機能と変更点についてご確認ください。Looker Studio リリースノートが Google Cloud で公開されました。

検索
検索をクリア
検索を終了
メインメニュー
4816977002299000083
true
ヘルプセンターを検索
true
true
true
true
true
102097
false
false