Tratamento do valor NULL
Quando nenhum dado puder ser produzido para um determinado campo como resultado de uma consulta à base de dados e/ou de uma junção entre tabelas, geralmente o resultado será normalmente um valor NULL.
Visão geral
A lógica do Qlik Sense trata as seguintes ocorrências como valores NULL:
-
Os valores NULL retornados por uma conexão ODBC.
-
Valores NULL criados como resultado de uma concatenação forçada de tabelas no script de carregamento de dados.
-
Valores NULL criados como resultado de uma junção feita no script de carga de dados
-
Valores NULL criados como resultado da geração de combinações de valores de campo a serem mostrados em uma tabela
Para obter mais informações sobre o NullAsValue, consulte NullAsValue.
Por definição, os arquivos de texto não podem conter valores NULL.
Associando/selecionando valores NULL do ODBC
É possível associar e/ou selecionar valores NULL de uma fonte de dados ODBC. Para isso, foi definida uma variável de script. A seguinte sintaxe pode ser usada:
O símbolo <sym> substituirá todos os valores NULL da fonte de dados ODBC no nível mais baixo da entrada de dados. <sym> pode ser qualquer string.
Para restaurar essa funcionalidade à interpretação padrão, use a seguinte sintaxe:
SET NULLDISPLAY=;
Se desejar que a lógica do Qlik Sense interprete valores NULL retornados de uma conexão ODBC como uma string vazia, inclua o seguinte texto no script antes de qualquer declaração SELECT:
SET NULLDISPLAY=";
Para obter mais informações sobre o NullDisplay, consulte NullDisplay .
Criando valores NULL de arquivos de texto
É possível definir um símbolo que, quando ocorrer em um arquivo de texto ou em uma cláusula inline, seja interpretado como um valor NULL real. Use o seguinte comando:
O símbolo <sym> deve ser interpretado como NULL. <sym> pode ser qualquer string.
Para restaurar essa funcionalidade à interpretação padrão, use:
SET NULLINTERPRET=;
Para obter mais informações sobre o NullInterpret, consulte NullInterpret .
Propagação de valores NULL em expressões
Os valores NULL se propagarão por meio de uma expressão de acordo com algumas regras lógicas e bastante razoáveis.
Funções
A regra geral é que as funções retornam NULL quando os parâmetros ficam fora do intervalo para o qual a função está definida.
| Expressão | Resultado |
|---|---|
| asin(2) | retorna NULL |
| log(-5) | retorna NULL |
| round(A,0) | retorna NULL |
Como resultado, as funções em geral retornam NULL quando qualquer um dos parâmetros necessários à avaliação é NULL.
| Expressão | Resultado |
|---|---|
| sin(NULL) | retorna NULL |
| chr(NULL) | retorna NULL |
| if(NULL, A, B) | retorna B |
| if(True, NULL, A) | retorna NULL |
| if(True, A, NULL) | retorna A |
A exceção à segunda regra são as funções lógicas para teste de tipo.
| Expressão | Resultado |
|---|---|
| isnull(NULL) | retorna True (-1) |
| isnum(NULL) | retorna False (0) |
Operadores aritméticos e de string
Se NULL for encontrado em qualquer lado desses operadores, o resultado será NULL.
| Expressão | Resultado |
|---|---|
| A + NULL | retorna NULL |
| A - NULL | retorna NULL |
| A / NULL | retorna NULL |
| A * NULL | retorna NULL |
| NULL / A | retorna NULL |
| 0 / NULL | retorna NULL |
| 0 * NULL | retorna NULL |
| A & NULL | retorna A |
Operadores relacionais
Se NULL for encontrado em qualquer lado dos operadores relacionais, serão aplicadas regras especiais.
| Expressão | Resultado |
|---|---|
| NULL (qualquer operador de relação) NULL | retorna NULL |
| A <> NULL | retorna True (-1) |
| A < NULL | retorna False (0) |
| A <= NULL | retorna False (0) |
| A = NULL | retorna False (0) |
| A >= NULL | retorna False (0) |
| A > NULL | retorna False (0) |