Manejo de valores NULL
Cuando no se pueden generar datos para un campo determinado como resultado de una consulta de base de datos y/o una unión entre tablas, el resultado es normalmente un valor nulo o NULL.
General
La lógica de Qlik Sense trata lo siguiente como valores NULL reales:
-
NULL valores devueltos de una conexión ODBC
-
NULL valores creados como resultado de una concatenación forzada de tablas en el script de carga de datos
-
NULL valores creados como resultado de una unión efectuada en el script de carga de datos
-
NULL valores creados como resultado de generar combinaciones de valores de campo para mostrarlos en una tabla.
Para más información sobre NullAsValue, vea NullAsValue.
Los archivos de texto por definición no pueden contener valores NULL.
Asociar/seleccionar valores NULL desde ODBC
Es posible asociar y/o seleccionar valores NULL desde una fuente de datos ODBC. Para este fin, se ha definido una variable de script. Se puede aplicar la sintaxis siguiente:
El símbolo <sym> sustituirá todos los valores NULL de la fuente de datos ODBC en el nivel más bajo de entrada de datos. <sym> puede ser cualquier cadena.
Para restablecer esta funcionalidad a la establecida por defecto, utilice la sintaxis siguiente:
SET NULLDISPLAY=;
Si desea que la lógica de Qlik Sense interprete los valores NULL devueltos desde una conexión ODBC como una cadena vacía, agregue lo siguiente a su script antes de cualquier sentencia SELECT:
SET NULLDISPLAY=";
Para más información sobre NullDisplay, vea NullDisplay .
Crear valores NULL desde archivos de texto
Es posible definir un símbolo, que cuando aparece en un archivo de texto o una cláusula inline se interpretará como un valor NULL real. Use la siguiente sentencia:
El símbolo <sym> se debe interpretar como NULL. <sym> puede ser cualquier cadena.
Para restablecer esta funcionalidad a la establecida por defecto, use:
SET NULLINTERPRET=;
Para más información sobre NullInterpret, vea NullInterpret .
Propagación de valores NULL en expresiones
Los valores NULL se propagarán a través de una expresión de acuerdo con algunas reglas lógicas y bastante razonables.
Funciones
La regla general es que las funciones devuelven NULL cuando los parámetros caen fuera del rango para el que se ha definido la función.
Expresión | Resultado |
---|---|
asin(2) | devuelve NULL |
log(-5) | devuelve NULL |
round(A,0) | devuelve NULL |
Como resultado de lo anterior, las funciones generalmente devuelven NULL cuando alguno de los parámetros necesarios para la evaluación es NULL.
Expresión | Resultado |
---|---|
sin(NULL) | devuelve NULL |
chr(NULL) | devuelve NULL |
if(NULL, A, B) | devuelve B |
if(True, NULL, A) | devuelve NULL |
if(True, A, NULL) | devuelve A |
La excepción a la segunda regla es que las funciones lógicas comprueban el tipo.
Expresión | Resultado |
---|---|
isnull(NULL) | devuelve True (-1) |
isnum(NULL) | devuelve False (0) |
Operadores aritméticos y de cadena
Si NULL se encuentra a cualquier lado de estos operadores, devuelve NULL.
Expresión | Resultado |
---|---|
A + NULL | devuelve NULL |
A - NULL | devuelve NULL |
A / NULL | devuelve NULL |
A * NULL | devuelve NULL |
NULL / A | devuelve NULL |
0 / NULL | devuelve NULL |
0 * NULL | devuelve NULL |
A & NULL | devuelve A |
Operadores relacionales
Si NULL se encuentra a cualquier lado de los operadores relacionales se aplican reglas especiales.
Expresión | Resultado |
---|---|
NULL (cualquier operador relacional) NULL | devuelve NULL |
A <> NULL | devuelve True (-1) |
A < NULL | devuelve False (0) |
A <= NULL | devuelve False (0) |
A = NULL | devuelve False (0) |
A >= NULL | devuelve False (0) |
A > NULL | devuelve False (0) |