switch - Amazon QuickSight

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

switch

switch compara condition-expression con las etiquetas literales, dentro de un conjunto de combinaciones de etiquetas literales y return-expression. A continuación, devuelve la expresión return-expression correspondiente a la primera etiqueta literal que es igual a la expresión condition-expression. Si ninguna etiqueta es igual a la expresión condition-expression, switch devuelve la expresión default-expression. Todas las expresiones return-expression y default-expression deben tener el mismo tipo de datos.

Sintaxis

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

Argumentos

switch requiere uno o más pares de expresiones if, then y requiere exactamente una expresión para el argumento else.

condition-expression

La expresión que se va a comparar con los literales de etiqueta. Puede ser un nombre de campo, como address, un valor literal, como Unknown, u otra función escalar, como toString(salesAmount).

etiqueta

El literal que se va a comparar con el argumento de condition-expression. Todos los literales deben tener el mismo tipo de datos que el argumento condition-expression. switch acepta hasta 5000 etiquetas.

return-expression

La expresión que se devolverá si el valor de su etiqueta es igual al valor de la expresión condition-expression. Puede ser un nombre de campo, como address, un valor literal, como Unknown, u otra función escalar, como toString(salesAmount). Todos los argumentos de return-expression deben tener el mismo tipo de datos que default-expression.

default-expression

La expresión que se devolverá si ningún valor de ningún argumento de la etiqueta es igual al valor de condition-expression. Puede ser un nombre de campo, como address, un valor literal, como Unknown, u otra función escalar, como toString(salesAmount). default-expression debe tener el mismo tipo de datos que todos los argumentos de return-expression.

Tipo de retorno

switch devuelve un valor del mismo tipo de datos que los valores de return-expression. Todos los datos que devolvieron las expresiones return-expression y default-expression deben ser del mismo tipo de datos o estar convertidos al mismo tipo de datos.

Ejemplos generales

En el ejemplo siguiente se devuelve el código de Región de AWS del nombre de la región de entrada.

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

Los siguientes son los valores de los campos.

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

Para estos valores de campo, se devuelven los siguientes valores.

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

Uso del cambio para reemplazar ifelse

El siguiente caso de uso ifelse es equivalente al ejemplo anterior. En el caso de ifelse, para evaluar si los valores de un campo son iguales a valores literales diferentes, es una mejor opción usar switch en su lugar.

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

Expresión como valor devuelto

En el siguiente ejemplo se utilizan expresiones en return-expressions:

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

En el ejemplo anterior se cambia el tiempo de retraso previsto para cada vuelo desde una ciudad concreta.

Imagen de los resultados del ejemplo de la función, que se muestra en forma de tabla.