IsNull - función de script y de gráfico
La función IsNull comprueba si el valor de una expresión es NULL y, si lo es, devuelve -1 (True), de lo contrario, devuelve 0 (False).
Sintaxis:
IsNull(expr )
Tipo de datos que devuelve: Booleano
Argumento | Descripción |
---|---|
expr | La expresión o el campo que contiene los datos que se han de medir. |
Ejemplo | Resultado |
---|---|
IsNull(Productname) |
Devuelve -1 (Verdadero) si ProductName es un valor nulo, en caso contrario devuelve 0 (Falso). |
Ejemplo: fundamentos de IsNull
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
ID
-
Value
-
Script de carga
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
ID
-
Value
Cree las siguientes dimensiones calculadas:
-
=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ), para devolver NULL si el campo Value no tiene ningún valor, un guión (-) o el valor NULL, en caso contrario devuelve el valor.
-
=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F'), para devolver el valor T (Verdadero) o F (Falso) en función de si el campo Value contiene un valor nulo o no.
ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
La columna Value muestra los datos tal y como se introdujeron en el conjunto de datos. La primera medida (columna 3) devuelve NULL para las 3 primeras filas cuyo valor cumplía las condiciones de la sentencia IF: len(trim(Value))= 0 or Value='NULL' or Value='-'. La última fila devuelve el valor introducido, 378.
La segunda medida (columna 4) toma el valor de la expresión de la columna 3 y devuelve T si es NULL o F si no es NULL. Los resultados muestran que las 3 primeras filas son valores nulos.
En este ejemplo, se carga una tabla inline con cuatro filas, en la que las tres primeras líneas no contienen nada, o bien contienen un guión -, o bien el texto NULL en la columna Value. Convertimos estos valores en representaciones verdaderas del valor NULL con el medio precedente LOAD usando la función Null.
El primero que precede a LOAD añade un campo que comprueba si el valor es NULL, utilizando la función IsNull.
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;
LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 378];
A continuación se muestra la tabla resultante. En la columna ValueNullConv, los valores NULL están representados por -.
ID | Value | ValueNullConv |
IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Ejemplo: escenario de IsNull
Descripción
Se analiza un conjunto de datos de ventas para ver qué campos tienen valores nulos.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Una variable NULLINTERPRET ajustada a NULL.
-
Los siguientes campos de la tabla de datos:
-
SalesID
-
Name
-
Age
-
Email
-
Region
-
Status
-
Script de carga
Set NULLINTERPRET = NULL;
Example:
LOAD * Inline [
SalesID, Name, Age, Email, Region, Status
1, John Smith, 30, john@email.com, North, Active
2, Jane Doe, NULL, jane@email.com, South, Active
3, Bob Johnson, 45, NULL, East, Inactive
4, Alice Brown, 28, alice@email.com, West, Active
5, Charlie Lee, NULL, charlie@email.com, NULL, Active
6, Eva Green, 35, eva@email.com, North, NULL
7, David White, 50, NULL, South, Inactive
8, Fiona Black, 42, fiona@email.com, East, Active
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
SalesID
-
Name
Cree las siguientes dimensiones calculadas:
-
=If(IsNull(Age), 'Age unavailable', Age), para rellenar el campo Age con el valor Age unavailable si es NULL.
-
=If(IsNull(Email), 'Email unavailable', Email), para rellenar el campo Email con el valor Email unavailable si es NULL.
-
=If(IsNull(Region), 'Region unavailable', Region), para rellenar el campo Region con el valor Region unavailable si es NULL.
SalesID | Name | If(IsNull(Age), 'Age unavailable', Age | If(IsNull(Email), 'Email unavailable', Email) | If(IsNull(Region), 'Region unavailable', Region) |
---|---|---|---|---|
1 | John Smith | 30 | john@email.com | North |
2 | Jane Doe | Age unavailable | jane@email.com | South |
3 | Bob Johnson | 45 | Email unavailable | East |
4 | Alice Brown | 28 | alice@email.com | West |
5 | Charlie Lee | Age unavailable | charlie@email.com | Region unavailable |
6 | Eva Green | 35 | eva@email.com | North |
7 | David White | 50 | Email unavailable | South |
8 | Fiona Black | 42 | fiona@email.com | East |
Los resultados de la función IsNull, que comprueba y devuelve verdadero si encuentra valores nulos, indican que varios campos del conjunto de datos contienen valores nulos. Por ejemplo, identificó un valor nulo en la columna Age para Charlie Lee y devolvió el resultado de salida: Age unavailable.