Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
];
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
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.
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
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'
Você pode criar também uma condição trazendo como número onde os campo iguais ou menores que zero recebem uma descrição
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.