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: 
rodrigo_rocha
Creator
Creator

Dimensão Calculada!

Olá Pessoal!!

Tenho uma duvida sobre dimensão calculada. Estou tentando criar uma porém não estou conseguindo. O que eu preciso das dimensões são o seguinte:

Se status_financeiro = 'Branco' é  'NOK';

Se status_financeiro = 'Conferido' é 'OK';

Se status_financeiro e status_entrega forem vazios é 'Vale Não Utilizado';

Se não for nenhuma dessas acima é 'Aguardando Fin.'

Tentei essa formula abaixo e varias outras porém não consegui:

if(status_financeiro = 'Branco', 'NOK', if(status_financeiro = 'Conferido', 'OK', if(IsNull(status_financeiro) and IsNull(status_entrega), 'Vale Não Utilizado', 'Aguardando Fin.' )))

Poderiam me ajudar por favor?

At.

Rodrigo Ramos Rocha

1 Solution

Accepted Solutions
fernando_tonial
Partner - Specialist
Partner - Specialist

Minhas recomendação é fazer esse sempre via Script.

baseEntrega:
LOAD vale&'_'&valor as chave,
id as id_entrega,
data as data_entrega,
Year("data") as dt_entrega_ano,
Month("data") as dt_entrega_mes,
Day("data") as dt_entrega_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_entrega_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_entrega_data,
supervisor as supervisor_entrega,
placa as placa_entrega,
mapa as mapa_entrega,
colaborador as colaborador_entrega,
colaborador_nome as nome_colaborador_entrega,
vale as vale_entrega,
valor as valor_entrega,
motivo as motivo_entrega,
obs as obs_entrega,
status as status_entrega,
usuario as usuario_entrega,
[usuario_aprovacao] as aprovacao_entrega;
SQL SELECT id,
data,
supervisor,
placa,
mapa,
colaborador,
colaborador_nome,
vale,
valor,
motivo,
obs,
status,
usuario,
`usuario_aprovacao`
FROM virginia.`autorizacao_chapa`;

MAP_Status_Entrega:
Mapping
LOAD
chave,
status_entrega
Resident baseEntrega;

BASE:
LOAD vale&'_'&valor as chave,
id as id_base,
vale as vale_base,
valor as valor_base,
status as status_base;
SQL SELECT id,
vale,
valor,
status
FROM virginia.`autorizacao_chapa_base`;

baseFinanceiro:
LOAD *,
if(status_financeiro = 'Branco', 'NOK', if(status_financeiro = 'Conferido', 'OK',
if((IsNull(status_financeiro) and IsNull(TMP_Status_Entrega)), 'Vale Não Utilizado', 'Aguardando Fin.' ))) AS [NomeNovoCampo];
LOAD vale&'_'&valor as chave,
id as id_financeiro,
data as data_financeiro,
Year("data") as dt_financeiro_ano,
Month("data") as dt_financeiro_mes,
Day("data") as dt_financeiro_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_financeiro_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_financeiro_data,
vale as vale_financeiro,
valor as valor_financeiro,
mapa as mapa_financeiro,
usuario as usuario_financeiro,
status as status_financeiro,
ApplyMap('MAP_Status_Entrega', vale&'_'&valor, Null()) AS TMP_Status_Entrega;
SQL SELECT id,
data,
vale,
valor,
mapa,
usuario,
status
FROM virginia.`autorizacao_chapa_financeiro`;

Drop Field TMP_Status_Entrega;

 

Veja se essas alterações, em negrito, feita em seu script funciona da forma que deseja.

 

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.

View solution in original post

9 Replies
danilostochi
Creator II
Creator II

Boa tarde,
poderia postar seu qvf ou qvw?
+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com
vitor_sasaki
Partner - Contributor
Partner - Contributor

Boa tarde, Rodrigo sera que não esta faltando um parentese na sua expressão?
No if onde esta a expressão que esta usando o IsNull tente colocar entre parentese
conforme abaixo:

if(status_financeiro = 'Branco', 'NOK', if(status_financeiro = 'Conferido', 'OK', if((IsNull(status_financeiro) and IsNull(status_entrega)), 'Vale Não Utilizado', 'Aguardando Fin.' )))
michellysodre
Contributor III
Contributor III

Rodrigo,

 

Bom dia.

 

Sua expressão é calculada? Pois estou achando que o problema está nela.

Veja o QVW em anexo.

 

rodrigo_rocha
Creator
Creator
Author

Olá Danilo!!

Cara... não posso fornecer mas posso mandar o script aqui:

baseEntrega:
LOAD vale&'_'&valor as chave,
id as id_entrega,
data as data_entrega,
Year("data") as dt_entrega_ano,
Month("data") as dt_entrega_mes,
Day("data") as dt_entrega_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_entrega_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_entrega_data,
supervisor as supervisor_entrega,
placa as placa_entrega,
mapa as mapa_entrega,
colaborador as colaborador_entrega,
colaborador_nome as nome_colaborador_entrega,
vale as vale_entrega,
valor as valor_entrega,
motivo as motivo_entrega,
obs as obs_entrega,
status as status_entrega,
usuario as usuario_entrega,
[usuario_aprovacao] as aprovacao_entrega;
SQL SELECT id,
data,
supervisor,
placa,
mapa,
colaborador,
colaborador_nome,
vale,
valor,
motivo,
obs,
status,
usuario,
`usuario_aprovacao`
FROM virginia.`autorizacao_chapa`;

BASE:
LOAD vale&'_'&valor as chave,
id as id_base,
vale as vale_base,
valor as valor_base,
status as status_base;
SQL SELECT id,
vale,
valor,
status
FROM virginia.`autorizacao_chapa_base`;

baseFinanceiro:
LOAD vale&'_'&valor as chave,
id as id_financeiro,
data as data_financeiro,
Year("data") as dt_financeiro_ano,
Month("data") as dt_financeiro_mes,
Day("data") as dt_financeiro_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_financeiro_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_financeiro_data,
vale as vale_financeiro,
valor as valor_financeiro,
mapa as mapa_financeiro,
usuario as usuario_financeiro,
status as status_financeiro;
SQL SELECT id,
data,
vale,
valor,
mapa,
usuario,
status
FROM virginia.`autorizacao_chapa_financeiro`;

Desde já agradeço!

Rodrigo Ramos Rocha

rodrigo_rocha
Creator
Creator
Author

Olá Vitor!!

Não deu certo cara... continua com mesmo erro.

Desde já agradeço!

Rodrigo Ramos Rocha

rodrigo_rocha
Creator
Creator
Author

Olá Michelly!

Não consigo abrir o seu QVW. Teria como mandar a expressão por aqui mesmo?

Desde já agradeço!

Rodrigo Ramos Rocha

danilostochi
Creator II
Creator II

Entendo,
Monta um exemplo com load * inline que consigo ver para você.
+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com
fernando_tonial
Partner - Specialist
Partner - Specialist

Minhas recomendação é fazer esse sempre via Script.

baseEntrega:
LOAD vale&'_'&valor as chave,
id as id_entrega,
data as data_entrega,
Year("data") as dt_entrega_ano,
Month("data") as dt_entrega_mes,
Day("data") as dt_entrega_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_entrega_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_entrega_data,
supervisor as supervisor_entrega,
placa as placa_entrega,
mapa as mapa_entrega,
colaborador as colaborador_entrega,
colaborador_nome as nome_colaborador_entrega,
vale as vale_entrega,
valor as valor_entrega,
motivo as motivo_entrega,
obs as obs_entrega,
status as status_entrega,
usuario as usuario_entrega,
[usuario_aprovacao] as aprovacao_entrega;
SQL SELECT id,
data,
supervisor,
placa,
mapa,
colaborador,
colaborador_nome,
vale,
valor,
motivo,
obs,
status,
usuario,
`usuario_aprovacao`
FROM virginia.`autorizacao_chapa`;

MAP_Status_Entrega:
Mapping
LOAD
chave,
status_entrega
Resident baseEntrega;

BASE:
LOAD vale&'_'&valor as chave,
id as id_base,
vale as vale_base,
valor as valor_base,
status as status_base;
SQL SELECT id,
vale,
valor,
status
FROM virginia.`autorizacao_chapa_base`;

baseFinanceiro:
LOAD *,
if(status_financeiro = 'Branco', 'NOK', if(status_financeiro = 'Conferido', 'OK',
if((IsNull(status_financeiro) and IsNull(TMP_Status_Entrega)), 'Vale Não Utilizado', 'Aguardando Fin.' ))) AS [NomeNovoCampo];
LOAD vale&'_'&valor as chave,
id as id_financeiro,
data as data_financeiro,
Year("data") as dt_financeiro_ano,
Month("data") as dt_financeiro_mes,
Day("data") as dt_financeiro_dia,
date(MonthStart("data"),'MMM/YYYY') as mdt_financeiro_mes_ano,
date(MonthStart("data"),'DD/MM/YYYY') as mdt_financeiro_data,
vale as vale_financeiro,
valor as valor_financeiro,
mapa as mapa_financeiro,
usuario as usuario_financeiro,
status as status_financeiro,
ApplyMap('MAP_Status_Entrega', vale&'_'&valor, Null()) AS TMP_Status_Entrega;
SQL SELECT id,
data,
vale,
valor,
mapa,
usuario,
status
FROM virginia.`autorizacao_chapa_financeiro`;

Drop Field TMP_Status_Entrega;

 

Veja se essas alterações, em negrito, feita em seu script funciona da forma que deseja.

 

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
rodrigo_rocha
Creator
Creator
Author

Isso Mesmo Tonial!!

Muito Obrigado!!!

Rodrigo Ramos Rocha