通知

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

CASE(検索)

条件のリストの評価に基づいて結果を返します。

CASE 文では、1 つ以上の条件が評価され、最初の条件が満たされた場合に結果が返されます。いずれの条件も満たされなかった場合は、デフォルトの結果が返されます。

: CASE 文には、検索 CASE 式 と単純 CASE 式の 2 つの形式があります。検索 CASE 式の文を使用すると、より高度なロジックを使用でき、単純 CASE 式の文は簡単に作成できます。

関連情報: IF

この記事の内容:

使用例

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

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

構文

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

パラメータ

  • condition - 論理フィールドまたは式。WHEN 句は condition を評価し、指定された条件が満たされていれば true、満たされていなければ false を返します。

  • result - 任意の型のフィールドまたは式。各 WHEN 句には、対応する THEN 句が必要です。THEN 句では、WHEN condition が満たされた場合に返す結果を指定します。WHEN 句が複数ある場合、CASE 文では最初に true になった conditionresult が返されます。

  • else_result(省略可)- 任意の型のフィールドまたは式。ELSE else_result 句では、CASE 文のデフォルトの結果を指定します。WHEN 句の条件がどれも満たされなかった場合、この句が返されます。CASE 文に ELSE 句が含まれておらず、WHEN 句のどの条件も満たされなかった場合、CASE 文では NULL が返されます。

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

: CASE 文の THEN 句で返されるデータ型は、すべての THEN 句で同じデータ型でなければなりません。たとえば、最初の THEN 句で返される値が Text データ型であれば、他の THEN 句でも Text データ型を返す必要があります。

検索 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 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

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

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

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

例 2: パラメータ値に基づいて異なる指標が返されます。

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 で公開されました。

検索
検索をクリア
検索を終了
Google アプリ
メインメニュー