Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Modificar valores nulos

Bom dia!

Srs tenho uma tabela em sql que é preenchida com diversos valores, mas algumas colunas estão nulas, pois não ouve preenchimento.

Eu gostaria de saber como posso atribuir um valor a estas tabelas no qlik para que eu possa computar estes dados.

Criei outra tabela com LOAD *inline para aplicar um nome aos códigos do banco, mas os valores que estão nulo no banco não consigo aplicar nada, ele aparece para mim com um "-" nas tabelas. Até tentei atribuir a este "-" o valor de "CANCELADO" mas não funciona.

Alguém já precisou desta aplicação?

LOAD * Inline [

  Situacao_GMITEMOS, USE_Situacao_GMITEMOS

   A, AGUARDANDO

   C, CANCELADO

   E, ENCERRADO

   F, FATURADO

   I, INICIADO

   L, LIBERADO

   N, NEGADO

   P, PENDENTE

   R, RECUSADO

   -, CANCELADO

   ];

6 Replies
nicolett_yuri

Você pode tratar os valores nulos por coluna (if(IsNull(COLUNA), 'ISSO', 'AQUILO')) ou então pela função NullValue

Exemplo

Set NullValue = 'NULL' ;

Todos os valores nulos ficarão com a string NULL

joao_sp_campina
Creator II
Creator II

Filipe bom dia,

Acredito que você deve carregar esta tabela no qlikview e no comando load criar uma condicional parta identificar os valores nulos no campo e coloca-los como cancelado.

João Carlos Ferreira.

alexandros17
Partner - Champion III
Partner - Champion III

When you load the sql table use this trick:

Select

...

if(myField is null, 'myField_Null', myField) as myField

...

In this way you will find after loading values like 'myField_Null' that correspons to null values in the column

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Boa tarde Filipe.

Neste caso eu sugiro o uso do applymap()  que quando nao tem um determinado dado, pode-se usar um como padrao:

exemplo:

Regiao:

Mapping LOAD *  INLINE [

UF, Nome

SC, Santa Catarina

PR, Parana

RS, Rio Grande do Sul

];

Cliente:

LOAD

      Cliente_Codigo,

      Cliente_Nome.

      ApplyMap('Regiao',UF,'Outro Estado')    as Regiao

Segue o que esta no help.....

A função ApplyMap é usada para mapear qualquer expressão de uma tabela de mapeamento carregada anteriormente. A sintaxe é:

applymap('nomedomapa', expr [ , exprpadrão ] )

onde:

nomedomapa é o nome da tabela de mapeamento criada anteriormente por meio do comando mapping load ou mapping select (consulte Mapping). O nome deve estar entre Aspas no Script.

expr é a expressão, o resultado deve ser mapeado.

exprpadrão é uma expressão opcional que será usada como um valor de mapeamento padrão se a tabela de mapeamento não contiver um valor correspondente a expr. Se nenhum valor padrão for fornecido, o valor de expr será retornado como está.

Exemplos:

// Admita a seguinte tabela de mapeamento:

mapa1:

mapping load * inline [

x, y

1, um

2, dois

3, três ] ;

ApplyMap ('mapa1', 2 ) retorna 'dois'

ApplyMap ('mapa1', 4 ) retorna 4

ApplyMap ('mapa1', 5, 'xxx') retorna 'xxx'

ApplyMap ('mapa1', 1, 'xxx') retorna 'um'

ApplyMap ( 'mapa1', 5, null( ) ) retorna NULL

ApplyMap ( 'mapa1', 3, null( ) ) retorna 'três'

furtado@farolbi.com.br
daniel_vale
Creator
Creator

Você pode criar também uma condição trazendo como número onde os campo iguais ou menores que zero recebem uma descrição

Clever_Anjos
Employee
Employee

Já achou uma solução? Se sim, marque umas das respostas como "Correta" para fechar o tópico e nos ajudar a manter o forum organizado.