Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Aplicar Between Set analysis

Pessoal Boa tarde !

Preciso em um tabela simples apresentar as pessoas que possuem saldo "maior que" e "menor que".

1. Tem um tabelo FATO que contem os movimentos do produto.

2. Dimensoes: PessoaNome e PessoaCPF.

3. Na minha tabela simples a minha expressao é :

SUM({1<fatoModulo = {3}, PKempresa = {"=CONCAT(DISTINCT PKempresa, ',')"}, PKdataBase = {"<=$(=MAX(PKdataBase))"}>} fatoValor).

Esta expressao retorna o saldo final em um mes/ano determinado no aplicativo.

Gostaria de atraves de 2 variaveis (vMinValor / vMaxValor) apresentar somente as pessoas em que o saldo acima resulte tal valor.

Ex: Pessoas com saldo entre 100 R$ e R$ 200.

Sei que é possivel utilizar o IF, mas gostaria se possivel utilizar somente set analysis.

Abraço !

1 Solution

Accepted Solutions
thiago_mlg
Creator II
Creator II

Boa tarde!

Seu set analysis ficará assim:

SUM({1<fatoModulo = {3},SALDO = {'>=$(vMinValor) <=$(vMaxValor)'},  PKempresa = {"=CONCAT(DISTINCT PKempresa, ',')"}, PKdataBase = {"<=$(=MAX(PKdataBase))"}>} fatoValor)


Abraços.

View solution in original post

6 Replies
thiago_mlg
Creator II
Creator II

Boa tarde!

Seu set analysis ficará assim:

SUM({1<fatoModulo = {3},SALDO = {'>=$(vMinValor) <=$(vMaxValor)'},  PKempresa = {"=CONCAT(DISTINCT PKempresa, ',')"}, PKdataBase = {"<=$(=MAX(PKdataBase))"}>} fatoValor)


Abraços.

Not applicable
Author

Thiago ... Seu analysis obriga a eu ter um campo SALDO na minha tabela... porem não o tenho... calculo dinamicamente.

De qualquer forma grato pelo apoio

thiago_mlg
Creator II
Creator II

Qual é o calculo do seu Saldo?

Not applicable
Author

SUM({1<fatoModulo = {3}, PKempresa = {"=CONCAT(DISTINCT PKempresa, ',')"}, PKdataBase = {"<=$(=MAX(PKdataBase))"}>} fatoValor).  Isto vai retornar por exemplo R$ 200,00 de saldo.

thiago_mlg
Creator II
Creator II

Paulo acho que o Ideal neste caso então é utilizar o IF. Você pode colocar sua expressão como uma Variavel para diminuir o código.

Set vSaldo = '= SUM({1<fatoModulo = {3}, PKempresa = {"=CONCAT(DISTINCT PKempresa, ',')"}, PKdataBase = {"<=$(=MAX(PKdataBase))"}>} fatoValor)'

Na expressão

IF( vSaldo >100 and vSaldo < 200, vSaldo)

Att,

Clever_Anjos
Employee
Employee

Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados