Notification

Cet article concerne Looker Studio. Pour accéder à la documentation Looker, consultez https://cloud.google.com/looker/docs/intro.

CASE (élaboré)

Renvoie un résultat basé sur l'évaluation d'une liste de conditions.

Les instructions CASE évaluent une ou plusieurs conditions et renvoient un résultat lorsque la première condition est remplie, ou un résultat par défaut si aucune des conditions n'est remplie.

Remarque : Il existe deux formes d'instruction CASE : CASE élaborée et CASE simple. Les instructions CASE élaborées vous permettent d'utiliser une logique plus sophistiquée, tandis que les instructions CASE simples sont plus faciles à construire.

Voir aussi : IF.

Au sommaire de cet article :

Exemple d'utilisation

L'expression CASE sert généralement à créer des catégories ou des regroupements de données. Par exemple, pour regrouper certaines valeurs de pays dans une dimension Région de vente, vous pourriez créer une instruction CASE de ce type :

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

Syntaxe

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

Paramètres

  • condition : champ ou expression logique. Les clauses WHEN évaluent la condition et renvoient la valeur "true" si la condition spécifiée est remplie, ou "false" si elle ne l'est pas.

  • result : n'importe quel type de champ ou d'expression. Chaque clause WHEN doit contenir une clause THEN correspondante, qui indique les résultats si la condition WHEN est "true". En présence de plusieurs conditions WHEN, l'instruction CASE renvoie le résultat pour la première condition "true".

  • else_result (facultatif) : n'importe quel type de champ ou d'expression. La clause else_result de ELSE spécifie un résultat par défaut pour l'instruction CASE. Cette clause est renvoyée si aucune des clauses WHEN n'est "true". Si une instruction CASE ne comporte aucune clause ELSE et qu'aucune des clauses WHEN n'est "true", l'instruction CASE renvoie la valeur NULL.

Une instruction CASE ne peut contenir qu'une seule clause ELSE.

Remarque : Toutes les clauses THEN d'une instruction CASE doivent renvoyer le même type de données. Par exemple, si la première clause THEN renvoie le type de données Texte, les autres clauses THEN doivent également renvoyer le type de données Texte.

Fonctionnement de CASE élaboré

Une instruction CASE élaborée commence par le mot clé CASE et se termine par le mot clé END. Entre les deux se trouvent un certain nombre de sections ou clauses :

  • WHEN : une condition que vous souhaitez évaluer. Une instruction CASE peut contenir plusieurs clauses WHEN.
  • THEN : le résultat à renvoyer si la condition de la clause WHEN est "true". Une instruction CASE doit contenir une clause THEN pour chaque clause WHEN.
  • ELSE : facultatif. Si aucune des conditions de la clause WHEN n'est "true", CASE renvoie la valeur de la clause ELSE ou la valeur NULL si aucune clause ELSE n'est spécifiée.

L'expression CASE évalue successivement chaque clause WHEN et renvoie le premier résultat pour lequel la condition est true. Les clauses WHEN restantes et le résultat ELSE ne sont alors pas évalués. Si toutes les conditions WHEN sont "false" ou NULL, l'expression CASE renvoie le résultat ELSE. Si aucune clause ELSE n'est précisée, elle renvoie la valeur NULL.

Exemples

Vérifier une inégalité

CASE WHEN Medium != "cpc" THEN "free" ELSE "paid" END
Pour les scénarios simples, envisagez plutôt d'utiliser la fonction IF.

Classifier des valeurs de dimension numérique au sein de buckets distincts

Par exemple, vous pouvez séparer des commandes selon trois tailles ("Small", "Medium" et "Large") basées sur le montant des commandes :

    
CASE
    WHEN Amount < 20 THEN "Small"
    WHEN Amount >= 20 and Amount < 100 THEN "Medium"
    WHEN Amount >= 100 THEN "Large"
END
Vous pouvez également utiliser un champ calculé de type Groupe afin de créer des groupes ad hoc pour les valeurs de dimension.

Évaluer une condition AND logique

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

Évaluer une condition AND/OR logique

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

Renvoyer un autre champ ou une autre valeur en fonction d'une valeur de paramètre

Exemple 1 : renvoyer une dimension basée sur la valeur de paramètre sélectionnée. Avec cette approche, les utilisateurs peuvent passer d'une dimension de répartition à un graphique.

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

Notez que vous pouvez également utiliser la syntaxe de CASE simple :

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

Exemple 2 : renvoyer une autre métrique basée sur une valeur de paramètre.

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

Instructions CASE imbriquées

Vous pouvez imbriquer des instructions CASE pour créer une logique d'embranchement plus complexe :

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

Ces informations vous-ont elles été utiles ?

Comment pouvons-nous l'améliorer ?
true
Quoi de neuf dans Looker Studio ?

Découvrez les nouvelles fonctionnalités et les modifications récentes. Les notes de version de Looker Studio sont disponibles sur Google Cloud.

Recherche
Effacer la recherche
Fermer le champ de recherche
Applications Google
Menu principal