# IsNull Função de script e de 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 )

Nota informativaUma string de comprimento zero não é considerada um NULL e fará IsNull retornar False.

Tipo de dados de retorno: Booleano

Argumentos

| Argumento | Descrição |
| --- | --- |
| expr | A expressão ou campo que contém os dados a serem medidos. |

Exemplo: expressão de gráfico

| Exemplo | Resultado |
| --- | --- |
| `IsNull(Productname)` | Retorna `-1` (True) se `ProductName` for um valor nulo; caso contrário, retorna `0` (False). |

## Exemplo - Fundamentos de IsNull

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

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.

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 |

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.

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

#### Script de carregamento

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 valores`NULL` são representados por `-`.

Results table

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

## Exemplo - Cenário de IsNull

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

#### Expressão de gráfico

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 seção.

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

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 |

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.