switch - Amazon QuickSight

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

switch

switch compare une expression-condition avec les étiquettes littérales, dans un ensemble de paires d'étiquettes littérales et de return-expression. Il renvoie ensuite l'expression return-expression correspondant à la première étiquette littérale qui est égale à l'expression condition-expression. Si aucune étiquette n'est égale à l'expression condition-expression, switch renvoie l'expression default-expression. Chaque return-expression et default-expression doit avoir le même type de données.

Syntaxe

switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], default-expression)

Arguments

L'opérateur switch nécessite une ou plusieurs paires d'expressions if,then et requiert exactement une expression pour l'argument else.

condition-expression

L'expression à comparer avec l'étiquette-littérale. Il peut s'agir d'un nom de champ comme address, d'une valeur littérale comme « Unknown » ou d'une autre fonction scalaire comme toString(salesAmount).

étiquette

Le littéral à comparer avec l'argument de condition-expression, tous les littéraux doivent avoir le même type de données que l'argument de condition-expression. L'expression switch accepte jusqu'à 5000 étiquettes.

return-expression

L'expression à retourner si la valeur de son étiquette est égale à la valeur de condition-expression. Il peut s'agir d'un nom de champ comme address, d'une valeur littérale comme « Unknown » ou d'une autre fonction scalaire comme toString(salesAmount). Tous les arguments de return-expression doivent avoir le même type de données que default-expression.

default-expression

L'expression à renvoyer si aucune valeur des arguments de l'étiquette n'est égale à la valeur de condition-expression. Il peut s'agir d'un nom de champ comme address, d'une valeur littérale comme « Unknown » ou d'une autre fonction scalaire comme toString(salesAmount). default-expression doit avoir le même type de données que tous les arguments de return-expression.

Type de retour

switch renvoie une valeur du même type de données que les valeurs de return-expression. Toutes les données renvoyées par return-expression et default-expression doivent être du même type de données ou être converties dans le même type de données.

Exemples généraux

L'exemple suivant renvoie le code Région AWS du nom de la région d'entrée.

switch(region_name, "US East (N. Virginia)", "us-east-1", "Europe (Ireland)", "eu-west-1", "US West (N. California)", "us-west-1", "other regions")

Les valeurs suivantes sont celles du champ donné.

"US East (N. Virginia)" "US West (N. California)" "Asia Pacific (Tokyo)"

Pour ces valeurs, les valeurs suivantes sont renvoyées.

"us-east-1" "us-west-1" "other regions"

Utilisation d'un commutateur pour remplacer ifelse

Le cas d'utilisation ifelse suivant est un équivalent de l'exemple précédent, mais pour ifelse évaluer si les valeurs d'un champ sont égales à des valeurs littérales différentes, il est préférable d'utiliser switch à la place.

ifelse(region_name = "US East (N. Virginia)", "us-east-1", region_name = "Europe (Ireland)", "eu-west-1", region_name = "US West (N. California)", "us-west-1", "other regions")

Expression comme valeur de retour

L'exemple suivant utilise des expressions dans des return-expressions :

switch({origin_city_name}, "Albany, NY", {arr_delay} + 20, "Alexandria, LA", {arr_delay} - 10, "New York, NY", {arr_delay} * 2, {arr_delay})

L'exemple précédent modifie le temps de retard prévu pour chaque vol au départ d'une ville donnée.

Une image des résultats de l'exemple de fonction, présentés sous forme de tableau.