EmptyIsNull – função de script e gráfico
A função EmptyIsNull converte strings vazias em NULL. Portanto, ela retornará NULL se o parâmetro for uma string vazia. Caso contrário, retornará o parâmetro.
Sintaxe:
EmptyIsNull(exp )
Tipo de dados de retorno: NULL se o parâmetro for uma string vazia. Caso contrário, retornará o parâmetro
Argumento | Descrição |
---|---|
expr | A expressão ou campo que contém os dados a serem medidos. |
Exemplo | Resultado |
---|---|
EmptyIsNull(AdditionalComments) |
Esta expressão retornará NULL para quaisquer valores de string vazia do campo AdditionalComments em vez de strings vazias. Strings e números não vazios são retornados. |
EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
Essa expressão removerá quaisquer traços, espaços e parênteses do campo PhoneNumber. Se não houver caracteres restantes, a função EmptyIsNull retornará a string vazia como NULL; um phone number vazio é o mesmo que nenhum phone number. |
Exemplo - Fundamentos de EmptyIsNull
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
CustomerID
-
OrderID
-
Product
-
Status
-
PhoneNumber
-
Script de carregamento
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
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
-
CustomerID
-
OrderID
-
Product
-
Status
Crie as seguintes dimensões calculadas:
-
=EmptyIsNull(Status) para retornar NULL como qualquer valor de string vazio no campo Status.
-
=EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) para remover quaisquer traços, espaços e parênteses do campo PhoneNumber. Se não houver caracteres restantes, a função EmptyIsNull retornará a string vazia como NULL; um número de telefone vazio equivale a nenhum número de telefone.
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 |
Na coluna Status, observe que os registros com valores vazios aparecem como células vazias com uma cor de fundo transparente padrão. A saída da medida EmptyIsNull(Status) retorna NULL para esses valores vazios, conforme indicado pelo caractere de traço (-) com fundo de célula cinza.
A segunda medida usa a função EmptyIsNull com o PurgeChar – função de script e gráfico para remover todos os traços (-), espaços e parênteses () do campo PhoneNumber e, em seguida, retornar todas as strings vazias restantes como NULL. As células com valores nulos agora aparecem com um traço (-) e formatação de fundo cinza.
Exemplo - Substituindo valores nulos por texto e adicionando formatação condicional
Visão geral
Um gerente de vendas deseja analisar dados de vendas e identificar facilmente os registros que contêm valores ausentes.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
ID
-
Name
-
Age
-
Email
-
Sales
-
Region
-
OrderStatus
-
Script de carregamento
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
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
-
ID
Crie as seguintes dimensões calculadas:
-
=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) para retornar como NULL qualquer valor de string vazio no campo Age e, em seguida, identificar e preencher todos os valores nulos com o valor NULL, em vez de um caractere de traço (-).
-
=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) para retornar como NULL qualquer valor de string vazio no campo Email e, em seguida, identificar e preencher todos os valores nulos com o valor NULL, em vez de um caractere de traço (-).
-
=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) para retornar como NULL qualquer valor de string vazio no campo Sales e, em seguida, identificar e preencher todos os valores nulos com o valor NULL, em vez de um caractere de traço (-).
-
=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) para retornar como NULL qualquer valor de string vazio no campo Region e, em seguida, identificar e preencher todos os valores nulos com o valor NULL, em vez de um caractere de traço (-).
-
=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) para retornar como NULL qualquer valor de string vazio no campo OrderStatus e, em seguida, identificar e preencher todos os valores nulos com o valor NULL, em vez de um caractere de traço (-).
Defina a formatação condicional da célula para alterar a cor de fundo para vermelho para os valores NULL e verde para todos os outros valores. No painel Propriedades de cada dimensão e medida, insira as seguintes expressões como a Expressão de cor de fundo:
-
ID (dimensão): =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 |
Os resultados mostram que, usando a função EmptyIsNull e adicionando formatação condicional, você pode identificar facilmente os registros com valores ausentes.