条件式
条件式を使用して、値を変換する式を作成します。
ここで説明する条件式は、ある形式から別の形式に値を変換する式を作成するための構築ブロックです。
次のルールに従います。
CASE
文では、AND
の優先度がOR
よりも高くなります- 文字列は一重引用符で囲む必要があります。
式 | 例 | 説明 | 構文 |
---|---|---|---|
CASE (If) |
|
各 一致する 注意: 分析およびビジュアライゼーションでのCASE文の使用に関するベスト・プラクティスを参照してください。 |
|
CASE (Switch) |
|
どの 最初の式が複数の |
|
IfCase > ELSE |
- |
- |
|
IfCase > IFNULL |
- |
- |
|
IfCase > NULLIF |
- |
- |
|
IfCase > WHEN |
- |
- |
|
IfCase > CASE |
- |
- |
|
SwitchCase > ELSE |
- |
- |
|
SwitchCase >IFNULL |
- |
- |
|
SwitchCase > NULLIF |
- |
- |
|
SwitchCase > WHEN |
- |
- |
|
分析およびビジュアライゼーションでのCASE文の使用に関するベスト・プラクティス
分析レポートおよびビジュアライゼーション・プロジェクトでCASE文を使用する場合は、レポート列、および集計の順序を考慮する必要があります。これは式および小計の計算方法に影響するためです。
-
一般に、CASE式を使用する場合は、式で使用されている列がレポートに含まれていることを確認します。
- 集計の順序が重要な場合は、レポート集計ルールを「デフォルト」から「合計」に変更します。
-
集計が計算される前に条件を評価する必要がある場合(フィルタ処理された列がレポートにも表示されない場合など)、FILTER関数を使用します。
例
この例では、ブランド、製品タイプおよび収益のデータがあります。
図case-best-practice-data.pngの説明
カメラの収益を0に設定する条件を適用するには、CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END
という条件式を作成します。
Product_Typeがレポートから除外されている場合は、式にはProduct_Typeが含まれているため、式を完全に評価するためのデータがありません。結果は次のとおりです。
図case-best-practice-results-1.pngの説明
レポートにPRODUCT_TYPEを追加し、レポートの集計方法をSUMに設定することで、ベースレベルの値が計算された後に結果が集計されます。
図case-best-practice-results-2.pngの説明
CASEを使用するかわりに、FILTER(Revenue using Product_Type != ‘Camera’)というフィルタ式を使用することもできます。式はレポート列に関係なく計算され、集計は計算後に適用されます。
図case-best-practice-results-3.pngの説明