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

É possível utilizar um campo calculado com a função "IF"?

Boa tarde pessoal,

Estou começando a utilizar o Qlik e estou tendo uma dificuldade para criar uma condição em um campo calculado, se possível gostaria da ajuda de vocês.

Primeiramente criei um campo calculado, que é o resultado em horas da diferença de dois campos timestamp, este campo criamos da seguinte maneira:Interval(DataConclusao - DataAbertura,'HH:MM') . Agora gostaria de criar um novo campo calculado validando se este campo criado anteriormente passou de 24h ou não, para isso inclui a seguinte formula: If(Conclusao24 <=24,'Sim','Não') e tenho o retorno que o símbolo do menor é desconhecido. Tentei criar a condição IF com um campo padrão das tabelas do banco de dados e também deu este erro de símbolo desconhecido, a sintaxe da função IF peguei no help do sistema.

Poderiam me auxiliar por favor?

Obrigado.

Labels (3)
12 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Podes disponibilizar um modelo com dados ?

furtado@farolbi.com.br
Not applicable
Author

Alessandro,

Segue um exemplo:

   

Chamado   Data Abertura   Data Conclusão      Conclusão24(Campo Calculado)
1514/03/2017 15:0015/03/2017 14:00       23:00:00
1614/03/2017 15:0115/03/2017 16:00       24:59:00

Quero fazer o IF com este campo "Conclusão24", verificando se as horas são ou não maior que 24h.

mauroponte
Creator II
Creator II

Flávio,

Tente colocar no script no load da tabela do primeiro campo calculadoo seguinte:

if(Interval(DataConclusao - DataAbertura,'HH:MM')=<24,'Sim','Nâo') AS Nome_Desejado_Para_Campo,

Not applicable
Author

Mauro bom dia!

Não entendi muito bem a primeira parte a sua sugestão, como faço para colocar essa fórmula no script de load da tabela?

De qualquer forma, tentei incluir no primeiro campo calculado esta fórmula que me enviou e tentei também utilizar somente este trecho: if(Interval(DataConclusao - DataAbertura,'HH:MM')=<24,'Sim','Nâo'). Mas ambos me retornaram erro de símbolo inválido para o sinal de igual.

mauroponte
Creator II
Creator II

Flávio,

Como não sei se voce utiliza Qlikview ou Qlik Sense estou anexando um QVW e um QVF exemplo com a planilha que criei em cima de seu exemplo.

A aplicação tem duas planilhas. Uma é uma tabela normal que utiliza somente os valores do campos criados no load da tabela no script como dimensões. Outra é uma tabela que utiliza somente os campos chamado, abertura e conclusao como dimensão, e os campos tempos decorrido e status são calculados na propria tabela.

Espero que atenda a sua necessidade.

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, segue;

If( Subfield(Text([Conclusão24]),':',1) Follows '24', '> 24h', '<= 24h')

Coloquei a função Text() por garantia, pois não sei como o campo [Conclusão24] foi feito.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Poderia colocar o mesmo via script por questão de performance se for significativo.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Ou

If( Subfield(Text('25:00:00'),':',1) > 24, '> 24h', '<= 24h') 

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Conseguiu amigo?

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti