switch - Amazon QuickSight

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

switch

switch confronta una condition-expression con le etichette letterali, all'interno di un insieme di abbinamenti di etichette letterali e return-expression. Quindi restituisce la return-expression corrispondente alla prima etichetta letterale uguale alla condition-expression. Se nessuna etichetta è uguale a condition-expression, switch restitusce la default-expression. Ogni return-expression e default-expression deve avere lo stesso tipo di dati.

Sintassi

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

Argomenti

switch richiede uno o più abbinamenti di espressioni if,then e una espressione per l'argomento else.

espressione di condizione

L'espressione da confrontare con i valori letterali dell'etichetta. Può trattarsi di un nome di campo come address, un valore letterale come Unknown o un'altra funzione come toString(salesAmount).

etichetta

Il letterale da confrontare con l'argomento di condition-expression, tutti i letterali devono avere lo stesso tipo di dati dell'argomento condition-expression. switch accetta un massimo di 5.000 etichette.

return-expression

L'espressione da restituire se il valore della sua etichetta è uguale al valore di condition-expression. Può trattarsi di un nome di campo come address, un valore letterale come Unknown o un'altra funzione come toString(salesAmount). Tutti gli argomenti return-expression devono avere lo stesso tipo di dati di default-expression.

default-expression

L'espressione da restituire se nessun valore di qualsiasi argomento dell'etichetta è uguale al valore di condition-expression. Può trattarsi di un nome di campo come address, un valore letterale come Unknown o un'altra funzione come toString(salesAmount). Tutti gli argomenti default-expression devono avere lo stesso tipo di dati di return-expression.

Tipo restituito

switch restituisce un valore dello stesso tipo di dati dei valori in return-expression. Tutti i dati restituiti da return-expression e default-expression devono essere dello stesso tipo o essere convertiti nello stesso tipo.

Esempi generali

L'esempio seguente restituisce il Regione AWS codice del nome della regione di input.

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

I seguenti sono i valori di campo forniti.

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

Per questi valori di campo vengono restituiti i seguenti valori.

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

Uso di switch per sostituire ifelse

Il seguente caso d'uso ifelse è equivalente all'esempio precedente, per ifelse che valutare se i valori di un campo sono uguali a valori letterali diversi; l'uso di switchinvece è una scelta migliore.

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")

Espressione come valore restituito

L'esempio seguente utilizza le espressioni in 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'esempio precedente modifica il tempo di ritardo previsto per ogni volo da una città particolare.

Un'immagine dei risultati dell'esempio della funzione, sotto forma di tabella.