Qlik Community

Qlik Brasil

Announcements
If you cannot see content in your group, clear your cache on all browsers. DM any issues to Sue_Macaluso.
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor

If dependendo do filtro

Pessoal, preciso fazer um campo que se alguma loja for filtrada ele tras o valor da loja, mas se todas as lojas forem selecionadas no filtro, ele apresente o valor de 422, pensei no if, mas como colocar no if essa condição?

Tags (1)
9 Replies
Highlighted

Re: If dependendo do filtro

Fiquei com uma dúvida, todas as lojas são as 422 ou não?

Highlighted
Contributor
Contributor

Re: If dependendo do filtro

Não, cada loja possui um valor médio de liberação de crédito inicial. Mas se todas as lojas forem selecionadas, o valor deve ser 422, não é uma média comum, é um cálculo feito pela empresa parceira que leva em contas diversos fatores, por isso não posso calcular. Preciso trazer a média entre as lojas selecionadas (com exceção se todas forem selecionadas), aí seria os 422 que comentei.

Highlighted

Re: If dependendo do filtro

Ficaria inviável fazer um IF com essas 422 lojas, acho que seria interessante ter um campo no seu modelo de dados indicando quais são essas lojas através de um flag (0 ou 1).

Desta maneira a regra pode ser bem mais simples de se aplicar, seja em medidas ou dimensões

Highlighted

Re: If dependendo do filtro

Highlighted
Contributor
Contributor

Re: If dependendo do filtro

Olá, entao na verdade são 37 lojas. Esse valor é o valor médio em reais liberado em cada loja.

Eu precisaria que no campo trouxesse a média dos valores de cada loja que se fosse todas as lojas selecionadas no filtro daria 436 reais. Mas tem esse detalhe, ele deve trazer a média se não forem todas as lojas. Caso seja todas as lojas selecionadas no filtro, deverá trazer o valor fixo de 422 reais. Obrigado

Highlighted

Re: If dependendo do filtro

Forneça mais informações de seus dados, assim podemos trabalhar com um exemplo.

Sinceramente ainda não consegui entender o cálculo que deseja fazer.

Highlighted
Contributor
Contributor

Re: If dependendo do filtro

Desculpe a demora, mas já agradeço pela ajuda.

Vamos lá, vou tentar exemplificar melhor.

Por exemplo tenho 3 lojas: 

Loja 1 valor médio liberado de crédito é R$ 400
Loja 2 valor médio liberado de crédito é R$ 450
Loja 3 valor médio liberado de crédito é R$ 440

Se eu selecionar no filtro a Loja 1 e Loja 2 ele traria a média R$ 425, se eu selecionar no filtro a Loja 1 e Loja 3 ele também traria a média que seria R$ 420, a mesma coisa se eu  selecionar no filtro Loja 2 e Loja 3 que traria a média que seria a média R$ 445. Mas se eu selecionar todas no filtro ou seja Loja 1, 2 e 3 ele deve trazer obrigatoriamente o valor de R$ 422 sempre e não a média de R$ 430 como seria o normal.

 

Highlighted

Re: If dependendo do filtro

OK, consegui entender, apesar de achar meio estranho ter um número fixo no seu código.

 

Bom, para saber se todos os valores do campo LOJA foram selecionados: Existem duas situações

  1. se o usuário não selecionar nada
  2. se o usuário selecionar todas as lojas.

 

Para saber se o usuário não selecionou nada, é mais fácil, basta utilizar a função GetSelectecCount(NOME_DO_CAMPO_LOJA)=0

Para saber se o usuário selecionou todas as lojas, então vamos ter que fazer uma operação para descobrir a quantidade de lojas da sua base:

Count({1} DISTINCT NOME_DO_CAMPO_LOJA)

 

Agora a operação fica mais simples:

if( GetSelectedCount(NOME_DO_CAMPO_LOJA) = Count({1} DISTINCT NOME_DO_CAMPO_LOJA) OR GetSelectedCount(NOME_DO_CAMPO_LOJA)=0, 422, AVG(VALOR))

 

Estou anexando um QVF para você ver o exemplo

Highlighted
Contributor
Contributor

Re: If dependendo do filtro

Muito obrigado amigo, irei fazer o teste aqui.