# EmptyIsNull - Función de script y de gráfico

La función EmptyIsNull convierte cadenas vacías en NULL. Es decir, devuelve NULL si el parámetro es una cadena vacía, de lo contrario devuelve el parámetro.

Sintaxis:

EmptyIsNull(exp )

Tipo de datos que devuelve: NULL si el parámetro es una cadena vacía, en caso contrario devuelve el parámetro

Argumentos

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

Ejemplo: Expresiones de gráficos

| Ejemplo | Resultado |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | Esta expresión devolverá NULL para cualquier valor de cadena vacía del campo `AdditionalComments` en lugar de cadenas vacías. Devuelve cadenas y números no vacíos. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | Esta expresión eliminará cualquier guión, espacio y paréntesis del campo `PhoneNumber`. Si no quedan caracteres, la función `EmptyIsNull` devuelve la cadena vacía como NULL; un phone number vacío es lo mismo que ningún phone number. |

## Ejemplo: fundamentos de EmptyIsNull

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

#### Expresión de gráfico

Descripción

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:

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

Script de carga

```
Example:
LOAD * inline [
CustomerID, OrderID, Product, Status, PhoneNumber
1, 1001, Widget,, (0123) 456 789
2, 1002, Gizmo, Open,-
3, 1003, Gadget, Closed,()
4, 1004, Widget,,678-9888
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

Cree las siguientes dimensiones calculadas:

* `=EmptyIsNull(Status)`, para devolver como NULL cualquier valor de cadena vacío en el campo `Status`.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`, para eliminar los guiones, espacios y paréntesis del campo `PhoneNumber`. Si no quedan caracteres, la función `EmptyIsNull` devuelve la cadena vacía como NULL; un número de teléfono vacío es lo mismo que ningún número de teléfono.

Nota informativaLa siguiente tabla contiene celdas vacías para demostrar el uso de la función `EmptyIsNull`.

Results table

| CustomerID | OrderID | Product | Status | EmptyIsNull(Status) | EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
| --- | --- | --- | --- | --- | --- |
| 1 | 1001 | Widget |  | - | 0123456789 |
| 2 | 1002 | Gizmo | Open | Open | - |
| 3 | 1003 | Gadget | Closed | Closed | - |
| 4 | 1004 | Widget |  | - | 6789888 |

En la columna `Status`, observe que los registros con valores vacíos aparecen como celdas vacías con un color de fondo transparente por defecto. El resultado de salida de la medida `EmptyIsNull(Status)` devuelve NULL para estos valores vacíos, como indica el carácter guión (-) con fondo de celda gris.

La segunda medida utiliza la función `EmptyIsNull` con [PurgeChar - Función de script y de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm) para eliminar los guiones (-), espacios y paréntesis () del campo `PhoneNumber` y, a continuación, devuelve las cadenas vacías restantes como NULL. Las celdas con valores nulos aparecen ahora con un guión (-) y un formato de fondo gris.

## Ejemplo: reemplazar valores nulos por texto y añadir formato condicional

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

#### Expresión de gráfico

Descripción

Un directivo de ventas desea analizar los datos de ventas e identificar fácilmente los registros que contienen valores que faltan.

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`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

Script de carga

```
Example:
LOAD * inline [
ID,Name, Age, Email, Sales, Region, OrderStatus
1, John Smith, 30, john@email.com, 1000, North, Active
2, Jane Doe, '', jane@email.com, 1500, South, Active
3, Bob Johnson, 45, '', 800, East, Inactive
4, Alice Brown, 28, alice@email.com, '', West, Active
5, Charlie Lee, '', charlie@email.com, 1200, '', Active
6, Eva Green, 35, eva@email.com, 950, North, ''
7, David White, 50, '', '', South, Inactive
8, Fiona Black, 42, fiona@email.com, 1100, East, Active
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `ID`

Cree las siguientes dimensiones calculadas:

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))`, para devolver como NULL cualquier valor de cadena vacío en el campo `Age`, y luego identificar y rellenar todos los valores nulos con el valor `NULL` en lugar de un guión (`-`).

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))`, para devolver como NULL cualquier valor de cadena vacío en el campo `Email`, y luego identificar y rellenar todos los valores nulos con el valor `NULL` en lugar de un guión (`-`).

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))`, para devolver como NULL cualquier valor de cadena vacío en el campo `Sales`, y luego identificar y rellenar todos los valores nulos con el valor `NULL` en lugar de un guión (`-`).

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))`, para devolver como NULL cualquier valor de cadena vacío en el campo `Region`, y luego identificar y rellenar todos los valores nulos con el valor `NULL` en lugar de un guión (`-`).

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))`, para devolver como NULL cualquier valor de cadena vacío en el campo `OrderStatus`, y luego identificar y rellenar todos los valores nulos con el valor `NULL` en lugar de un guión (`-`).

Establezca el formato de celda condicional para cambiar el color de fondo a rojo para los valores `NULL` y a verde para el resto de valores. En el panel de Propiedades de cada dimensión y medida, introduzca las siguientes expresiones como Expresión de color de fondo:

* `ID` (dimensión): `=RGB(200,255,200)`

* `Age` (medida): `=If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))`

* `Email` (medida): `=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))`

* `Sales` (medida): `=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))`

* `Region` (medida): `=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))`

* `OrderStatus` (medida): `=If(IsNull(EmptyIsNull(OrderStatus)), RGB(255,200,200), RGB(200,255,200))`

Results table

| ID | If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) | If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) | If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) | If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) | If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) |
| --- | --- | --- | --- | --- | --- |
| 1 | 30 | john@email.com | 1000 | North | Active |
| 2 | NULL | jane@email.com | 1500 | South | Active |
| 3 | 45 | NULL | 800 | East | Inactive |
| 4 | 28 | alice@email.com | NULL | West | Active |
| 5 | NULL | charlie@email.com | 1200 | NULL | Active |
| 6 | 35 | eva@email.com | 950 | North | NULL |
| 7 | 50 | NULL | NULL | South | Inactive |
| 8 | 42 | fiona@email.com | 1100 | East | Active |

Los resultados muestran que utilizando la función `EmptyIsNull` y añadiendo formato condicional, puede identificar fácilmente los registros con valores omitidos.