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) |