notIn - 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.

notIn

notIn evalúa si existe una expresión en una lista literal. Si la lista no contiene la expresión, notIn devuelve true y, en caso contrario, devuelve false. notIn distingue entre mayúsculas y minúsculas para las entradas de tipo cadena.

notIn acepta dos tipos de listas literales: una es una lista que se introduce manualmente y la otra es un parámetro con varios valores.

Sintaxis

Uso de una lista introducida manualmente:

notIn(expression, [literal-1, ...])

Uso de un parámetro con varios valores:

notIn(expression, $multivalue_parameter)

Argumentos

expresión

La expresión que se va a comparar con los elementos de la lista literal. Puede ser un nombre de campo, como address, un valor literal, como “Unknown”, un parámetro de un solo valor o una llamada a otra función escalar, siempre que esta función no sea una función de agregado o un cálculo de tabla.

lista literal

(Obligatorio) Puede ser una lista introducida manualmente o un parámetro con varios valores. Este argumento acepta hasta 5000 elementos. Sin embargo, en una consulta directa a un origen de datos de terceros, por ejemplo, Oracle o Teradata, la restricción puede ser menor.

  • lista introducida manualmente: uno o más valores literales de una lista para compararlos con la expresión. La lista se debe escribir entre corchetes. Todos los literales que se van a comparar deben tener el mismo tipo de datos que la expresión.

  • parámetro con varios valores: un parámetro con varios valores predefinido que se pasa como una lista literal. El parámetro con varios valores debe tener el mismo tipo de datos que la expresión.

Tipo de retorno

Valor booleano TRUE o FALSE

Ejemplo con una lista introducida manualmente

En el siguiente ejemplo se evalúa el campo origin_state_name en busca de valores en una lista de cadenas. Al comparar una entrada de tipo cadena, notIn solo admite la comparación que distingue entre mayúsculas y minúsculas.

notIn(origin_state_name,["Georgia", "Ohio", "Texas"])

Los siguientes son los valores de los campos.

"Washington" "ohio" "Texas"

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

true true false

El tercer valor devuelto es false porque solo “Texas” es uno de los valores excluidos.

En el siguiente ejemplo se evalúa el campo fl_date en busca de valores en una lista de cadenas. Para que coincida con el tipo, toString se utiliza para convertir el tipo de fecha en un tipo de cadena.

notIn(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
Imagen de los resultados del ejemplo de la función, que se muestra en forma de tabla.

Los valores literales y NULL se admiten en el argumento de expresión para compararlos con los literales de la lista. Los dos ejemplos siguientes generarán una nueva columna de valores FALSE.

notIn("Washington",["Washington","Ohio"])
notIn(NULL,[NULL,"Ohio"])

Ejemplo con parámetro con varios valores

Supongamos que un autor crea un parámetro con varios valores que contiene una lista de todos los nombres de los estados. Luego, el autor agrega un control para que el lector pueda seleccionar valores de la lista.

A continuación, el lector selecciona tres valores (“Georgia”, “Ohio” y “Texas”) del control de la lista desplegable del parámetro. En este caso, la siguiente expresión equivale al primer ejemplo, en el que esos tres nombres de estados se pasan como lista literal para compararlos con el campo original_state_name.

notIn (origin_state_name, ${stateName MultivalueParameter})

Ejemplo con ifelse

notIn se puede anidar en otras funciones como un valor booleano. Un ejemplo es que los autores pueden evaluar cualquier expresión de una lista y devolver el valor que desean mediante notIn y ifelse. En el siguiente ejemplo se evalúa si el dest_state_name de un vuelo se encuentra en una lista determinada de estados de EE. UU. y se devuelven diferentes categorías de estados en función de la comparación.

ifelse(notIn(dest_state_name,["Washington", "Oregon","California"]), "notWestCoastUSState", "WestCoastUSState")
Imagen de los resultados del ejemplo de la función, que se muestra en forma de tabla.