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

Nota informativaUna cadena con longitud cero no se considera NULL y hará que IsNull devuelva False.

Tipo de datos que devuelve: Booleano

Argumentos

| Argumento | Descripción |
| --- | --- |
| expr | La expresión o el campo que contiene los datos que se han de medir. |

Ejemplo: Expresión de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `IsNull(Productname)` | Devuelve `-1` (Verdadero) si `ProductName` es un valor nulo, en caso contrario devuelve `0` (Falso). |

## Ejemplo: fundamentos de IsNull

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

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.

Results table

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Script de carga

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

Results table

| ID | Value | ValueNullConv | IsItNull |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

## Ejemplo: escenario de IsNull

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Expresión de gráfico

Vista general

Se analiza un conjunto de datos de ventas para ver qué campos tienen valores nulos.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

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

Results table

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