Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Condição de Valor DIFERENTE

Bom dia a todos,

Qual símbolo eu devo usar para criar uma condição de valores diferentes?

Já tentei usar "-=", "<>", "!=", mas nenhum deles dá certo.

Obrigado!

Labels (2)
1 Solution

Accepted Solutions
jonas_rezende
Specialist
Specialist

Gui Borlenghi.

O seu campo tem data e hora. Por isso, o resultado é falso na condição if().

Você pode tratá-lo da seguinte forma:

if(Date(SubField([Dta Entrada],' ',1)) <> Date(SubField([Dta Saida],' ',1))

     , 1

      ,0

)                                             as Saldo


Veja o arquivo anexo.


Espero que ajude!

View solution in original post

11 Replies
jonas_rezende
Specialist
Specialist

Gui Borlengui.

Tudo depende do local e função que está utilizando. Se for em if() é o operador lógico '<>'. Caso esteja usando em uma função de agregação e queira excluir um dado de um conjunto é '-='.

Qual é o seu objetivo?

[]s,

Jonas Melo.

Anonymous
Not applicable
Author

Supondo que tenho a seguinte tabela:

            DT_Entrada | DT_Saida | Saldo

Carro1        21/05            21/05

Carro2        20/05            22/05

Carro3        21/05            22/05

Quero acrescentar uma coluna que me traga a contagem dos valores se DT_Entrada e DT_Saida forem diferentes.

Como ficaria?

=if(DT_Entrada"simbolo?"DT_Saida,count(Saldo),0)

Not applicable
Author

Gui, fica assim:


=if(DT_Entrada<>DT_Saida,count(Saldo),0)

jonas_rezende
Specialist
Specialist

Vejo que para a dimensão CarroN, falta o nome da coluna, espero que em seu modelo de dados não esteja assim.

A condição seria. Ex.:

Load

Modelo_Carro,

DT_Entrada,

DT_Saida,

if(DT_Entrada <> DT_Saida

     ,1

     ,0

)                                  as Saldo

from

<NomeTabela>;

Lembre-se que os campos de data precisam estar em um formato #Date().

Com isso, basta você usar Sum(Saldo) na expressão ou em um objeto TextBox para contar.

Espero ter ajudado!

Anonymous
Not applicable
Author

Eu tentei com essa expressão que você me passou, mas ele traz o resultado como "falso".

O problema é que estou trabalhando em cima de uma planilha Excel que é utilizada por diversas pessoas, estou achando que pode conter algum erro de informação na planilha, pois acredito que não seguem um padrão para todos os campos.

Eu consegui fazer uma expressão que ele trouxe a contagem do Saldo correto, porém, estragou o meu filtro.

Quando coloco para filtrar qual foi a movimentação do dia 03/05, ele me trás o valor no dia 02/05, pois seus valores estão vinculados na planilha.

Não consigo juntar as duas informações, ou o filtro funciona, ou o valor vem certo.

Not applicable
Author

Consegue postar uma amostra dos seus dados? Assim fica mais fácil de ajudar.

Anonymous
Not applicable
Author

Luana, segue abaixo tabela completa:

qlik.png

Como mostra no filtro, selecionando o dia 02/05 ele está me trazendo os valores corretos, porém, os valores mostrados na coluna "Saldo Dia" são referentes ao dia 03/05.


qlik2.png

E conforme tabela acima, tenho veículos que entraram e saíram no mesmo dia (estes estão sendo desconsiderados na contagem) e os veículos que entraram dia 02/05 e saíram dia 03/05 (são os considerados Saldo Dia).

Mas este saldo refere-se ao dia 03/05, não ao dia 02/05. Acredito que na hora de filtrar, ele está puxando a data de entrada primeiro e contando esses valores. Mas preciso que esses valores sejam vinculados à data de saída.

maiconmello
Creator III
Creator III

Boa tarde,

Verifica se os dois campos estao no mesmo formato.

As vezes um da em formato Data e outro em char.

força no script.

Atenciosamente

jonas_rezende
Specialist
Specialist

Gui Borlenghi.

O seu campo tem data e hora. Por isso, o resultado é falso na condição if().

Você pode tratá-lo da seguinte forma:

if(Date(SubField([Dta Entrada],' ',1)) <> Date(SubField([Dta Saida],' ',1))

     , 1

      ,0

)                                             as Saldo


Veja o arquivo anexo.


Espero que ajude!