Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
junior_ehlke
Creator III
Creator III

Condição Set Analysis

Bom dia, duvida simples,

tenho a seguinte formula em um grafico:

=num(SUM({$<Auditoria ={'S'}>} var_VendaLiquida),'R$###.##0,00')

ou seja, tenho que somar a venda liquida da loja quando a seleção auditoria for S, porém quando eu seleciono um mes que seja "N" por exemplo, eu tenho como resultado o valor da venda, porém deveria ser zero.

mesma coisa para o count de quantos S eu tenho, se eu seleciono os N, o valor do count não muda

=Count({$<Auditoria={'S'}>} Auditoria)

onde estou errando?

Labels (1)
13 Replies
rphpacheco
Creator III
Creator III

Bom dia Hamilton.

Cara, sinceramente, não sei ainda se entendi bem a tua necessidade. Mas vamos lá rsrsrrsrsr

Pelo que entendi, é calculado 30% desconto sobre as vendas das filiais que tenham o S como auditoria. Quando tiver A devemos pegar os valores de todos os meses destes descontos, correto? E por fim, se tiver N não faz nada, ou seja, não apresenta nenhum valor.

Só não entendi direito se quando for S o mês que devemos somar é o atual. Segui esta lógica ok?

Partindo deste principio, criei diretamente no LOAD o % de desconto, caso AUDITORIA seja = S. Após isso fiz uma condicional tratando isto.

Verifique se esta dentro do que procuras. E informe o que tiver que melhorar.

Abraço!

junior_ehlke
Creator III
Creator III
Author

Raphael, obrigado pela ajuda, consegui fazer o que eu queria com seu primeiro exemplo.

Se possível pode me explicar a logica do GetPossibleCount?

o comando que me ajudou foi

=If(GetPossibleCount(AUDITORIA) = 2

  ,Num(Sum({<AUDITORIA={'S'}>} valor),'R$###.##0,00')

  ,Num(if(AUDITORIA ='S', sum(valor),0),'R$###.##0,00')

)

mas qual a diferença do if(AUDITORIA ='S', sum(valor),0) para Sum({<AUDITORIA={'S'}>} valor)

pq temos que usar as duas opções?

quero entender a logica do comando pq acredito que vai ser muito útil no futuro.

rphpacheco
Creator III
Creator III

Boa tarde Hamilton. Que bom que funcionou!
Como havia mencionado anteriormente, o GetPossibleCount() conta a quantidade de registros possíveis para determinado campo. No caso do Campo AUDITORIA tínhamos a princípio dois valores ('S','A'). Se este campo não tiver seleção alguma, o GetPossibleCount() irá retornar a contagem dos valores possíveis deste campo (No caso 2). Por isso tive que incluir a segunda parte do If() verificando também quando este campo for selecionado com a opção 'S', pois assim, o GetPossibleCount() irá retornar 1 e fugiria da primeira tratativa.

Por isso, quando surgiu um terceiro valor 'N' eu sugeri criar uma Flag em seu script de carga em que tratasse isso. Seria apenas um booleano com a condição de: se AUDITORIA = 'S' True() senão False().

Assim você poderia continuar com a lógica.

Bom, espero ter ajudado!


Abraço!


junior_ehlke
Creator III
Creator III
Author

Sim sim, ajudou muito. Obrigado novamente.