Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
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
Partner Ambassador/MVP
Partner Ambassador/MVP

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

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.