IsNull – função de script e gráfico
A função IsNull testa se o valor de uma expressão é NULL e, nesse caso, retorna -1 (True), do contrário 0 (False).
Sintaxe:
IsNull(expr )
Tipo de dados de retorno: Booleano
Argumento | Descrição |
---|---|
expr | A expressão ou campo que contém os dados a serem medidos. |
Exemplo | Resultado |
---|---|
IsNull(Productname) |
Retorna -1 (True) se ProductName for um valor nulo; caso contrário, retorna 0 (False). |
Exemplo - Fundamentos de IsNull
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:
-
ID
-
Value
-
Script de carregamento
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
-
ID
-
Value
Crie as seguintes dimensões calculadas:
-
=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) para retornar NULL se o campo Value não tiver nenhum valor, um caractere de traço (-) ou o valor NULL, caso contrário, retorna o valor.
-
=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') para retornar o valor T (True) ou F (False), dependendo se o campo Value contém um valor nulo ou não.
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 |
A coluna Value mostra os dados conforme inseridos no conjunto de dados. A primeira medida (coluna 3) retorna NULL para as 3 primeiras linhas cujo valor atendeu às condições da instrução IF: len(trim(Value))= 0 or Value='NULL' or Value='-'. A última linha retorna o valor conforme inserido, 378.
A segunda medida (coluna 4) usa o valor da expressão na coluna 3 e retorna T se for NULL ou F se não for NULL. Os resultados mostram que as 3 primeiras linhas são valores nulos.
Neste exemplo, uma tabela embutida com quatro linhas é carregada, onde as três primeiras linhas não contêm nada, um traço - ou o texto NULL da coluna Value. Convertemos esses valores em representações de valor NULL verdadeiro com o LOAD precedente intermediário, usando a função Null.
O primeiro LOAD precedente adiciona um campo que verifica se o valor é NULL, usando a função 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];
Abaixo está a tabela resultante. Na coluna ValueNullConv, os valoresNULL são representados por -.
ID | Value | ValueNullConv |
IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Exemplo - Cenário de IsNull
Visão geral
Um conjunto de dados de vendas é analisado para ver quais campos têm valores nulos.
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.
-
Uma variável NULLINTERPRET definida como NULL.
-
Os campos a seguir na tabela de dados:
-
SalesID
-
Name
-
Age
-
Email
-
Region
-
Status
-
Script de carregamento
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
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
-
SalesID
-
Name
Crie as seguintes dimensões calculadas:
-
=If(IsNull(Age), 'Age unavailable', Age) para preencher o campo Age com o valor Age unavailable se ele for NULL.
-
=If(IsNull(Email), 'Email unavailable', Email) para preencher o campo Email com o valor Email unavailable se ele for NULL.
-
=If(IsNull(Region), 'Region unavailable', Region) para preencher o campo Region com o valor Region unavailable se ele for 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 |
Os resultados da função IsNull, que verifica e retorna true se forem encontrados valores nulos, indicam que vários campos do conjunto de dados contêm valores nulos. Por exemplo, um valor nulo foi identificado na coluna Age para Charlie Lee, e o resultado Age unavailable foi retornado.