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
Argumento | Descripción |
---|---|
expr | La expresión o el campo que contiene los datos que se han de medir. |
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
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:
-
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.
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 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
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 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
-
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))
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.