Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
luizclaudio
Creator
Creator

Atribui zero a valores nulos

Bom dia

Preciso atribuir zero para valores nulos em uma determinada tabela carregada. Encontrei um post que recomenda usar o seguinte:

If(IsNull(COLUNA2), 0, COLUNA2) as COLUNA2

Acontece que estou fazendo a carga através de instrução SQL e me retorna erro.

Alguma dica a respeito?


1 Solution

Accepted Solutions
luizclaudio
Creator
Creator
Author

Pessoal

Achei a solução...

IsNull(COLUNA2,0) as COLUNA2

Ou seja, não é preciso testar usando If

View solution in original post

12 Replies
luizclaudio
Creator
Creator
Author

Pessoal

Achei a solução...

IsNull(COLUNA2,0) as COLUNA2

Ou seja, não é preciso testar usando If

rphpacheco
Creator III
Creator III

Bom dia Luiz Claudio.

Como você mesmo mencionou, a carga de seu documento está sendo realizada através de uma instrução SQL.

O comando em que você exemplificou só servirá em um gráfico tabela, pois a função Column é de inter-registros de gráficos.

Você terá duas opções. Caso mude a forma de carregar as informações, criando um extrator na linguagem do Qlikview você poderá colocar da seguinte maneira:

If(IsNull(<Campo da Tabela>),0,<Campo da Tabela>)                         as <Campo da Tabela>

Ou se for em um Gráfico Tabela:

If(Isnull(Column(2)),0,Column(2))

Tente desta forma.

Um abraço!

luizclaudio
Creator
Creator
Author

Obrigado Raphael

Aproveitando (e não abusando, rsrs) da sua disposição...A atribuição de zeros funcionou corretamente.

Inseri um controle de seleção múltipla testando o campo se é maior que zero.

O controle apresenta -1 e 0 para verdadeiro e falso.

Sabe me dizer como troco os valores apresentados para Sim e Não??

rphpacheco
Creator III
Creator III

Como você realizou este controle?

Pois nas expressões de controle do Qlikview o "-1" é verdadeiro e o "0" é falso.

Mas precisaria saber qual o tipo de controle que você fez.

Abraço!

luizclaudio
Creator
Creator
Author

Inseri a expressão abaixo em Campos mostrados na seleção múltipla

=CodigoSocio>0

Funciona corretamente, porém gostaria de alterar o -1 para Sim e 0 para Não, para ficar visualmente melhor e facilitar o entendimento do usuário.

rphpacheco
Creator III
Creator III

Tente assim:

If(CodigoSocio > 0, 'Sim','Não')

Abraço!

luizclaudio
Creator
Creator
Author

Valeu, Raphael!!!

Ficou perfeito.

fernando_tonial
Partner - Specialist
Partner - Specialist

Senhores, boa tarde.

Existe uma função no QlikView que faz com que os valores nulos de determinados campos recebam um valor padrão. Na utilização de condições no load, a tendência é que a execução do script demore mais.

Segue exemplo.

// Define quais os campos irão receber o valor configurado na Variável NullValue

NullAsValue A,B;

//Define o valor padrão para os campos definidos anteriormente

Set NullValue = 0 ;

//Geração de dados para teste

Dados:

Load

    If(RowNo()<=5,Null(),1) AS A,

    If(RowNo()<=5,2,Null()) AS B,

    If(RowNo()<=5,3,Null()) AS C,

AutoGenerate(10);

Abraços.

Tonial.

Don't Worry, be Qlik.
Not applicable

Bom dia! Tenho uma situação parecida..

Desenvolvi uma aplicação com analise de receitas por estado, posteriormente por cidade, utilizando o GeoView.

Porém, quando o estado ou a cidade não teve nenhum tipo de receita, ele não aparece na tabela e assim, não aparece no mapa.

Tentei seguir os exemplos acima, porem nao tive exito. Alguem pode me ajudar?

mapa 1.jpg

mapa 2.jpg

Apenas desejo que apareça cidades e estado que não tiveram receitas com o valor 0, assim eu pinto na cor branca.