条件式
条件式を使用して、値を変換する式を作成します。
ここで説明する条件式は、ある形式から別の形式に値を変換する式を作成するための構築ブロックです。
次のルールに従います。
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の説明
Cameraの収益を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の説明