Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
junior_ehlke
Contributor 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?

Tags (1)
1 Solution

Accepted Solutions
rphpacheco
Contributor III

Re: Condição Set Analysis

Bom, se eu entendi, é para mostrar a soma dos valores de 'S' caso selecione esta opção no campo AUDITORIA, ou se vc selecionar 1 mês que tenha valores 'S'. Ou ainda se selecionar vários meses onde tenha algum com esta mesma opção, correto?

Entendi também que se selecionar um mês que não tenha esta opção, o valor deverá zerado, é isso né?

Bom, segue anexo um exemplo. Veja se atende a sua necessidade.

13 Replies
rphpacheco
Contributor III

Re: Condição Set Analysis

Bom dia Hamilton.

Em sua fórmula, vc está utilizando o Set Analysis fixando a soma para Auditoria='S', independente se este campo está selecionado ou não.

Talvez seja melhor vc utilizar um If em conjunto com a função GetFieldSelections() em uma variável, verificando se o Campo Auditoria for = 'S' pega a venda líquida, caso contrário o valor da venda.

Isso vale tmbm para o count.

Espero ter ajudado!
Abraço!

junior_ehlke
Contributor III

Re: Condição Set Analysis

então, com a função GetFieldSelections() eu coloco o campo Auditoria e o resultado apenas sai correto quando é selecionado o campo auditoria, porem podemos selecionar o mes de movimento ou até a propria loja, sendo assim com esta função o valor fica sempre zerado. Com a função

=num(if(Aditoria ='S', sum(var_VendaLiquida),0),'R$###.##0,00')

funcionou, se eu seleciono o mês 4 o valor sai correto, se seleciono o mês 5 o valor sai zerado porém selecionando os meses 4 e 5 ao mesmo tempo continua zerado ao invés de mostrar apenas o mês 4.

rphpacheco
Contributor III

Re: Condição Set Analysis

Hamilton, tens um exemplo para que possamos ajudar da melhor forma?

junior_ehlke
Contributor III

Re: Condição Set Analysis

Boa tarde,

no exemplo se eu selecionar o mes 4 ele vai me trazer o valor, e o mes 5 vai me trazer zerado, porém se eu seleciono o mes 4 e 5 o valor vem zerado, mas preciso que me traga o valor do mes 4 junto.

junior_ehlke
Contributor III

Re: Condição Set Analysis

Neste mesmo exemplo gostaria de dificultar um pouco mais as coisas haha

assim, se o mês selecionado tiver S então aparece o valor dele mesmo, se o mês selecionado tiver A então aparece a soma de todos os meses com valor S, entende? ao invés de aparecer o mês 5 zerado, ele apareceria a soma do mês 4 e meses anteriores caso tenha.

tentei fazer assim

=num(if(Auditoria ='S', sum(var_VendaLiquida),

          if(Auditoria ='A', sum({<Auditoria ={'S'}>} var_VendaLiquida),)),'R$###.##0,00')

mas ele soma de todas as lojas e não apenas da loja selecionada.

rphpacheco
Contributor III

Re: Condição Set Analysis

Bom, se eu entendi, é para mostrar a soma dos valores de 'S' caso selecione esta opção no campo AUDITORIA, ou se vc selecionar 1 mês que tenha valores 'S'. Ou ainda se selecionar vários meses onde tenha algum com esta mesma opção, correto?

Entendi também que se selecionar um mês que não tenha esta opção, o valor deverá zerado, é isso né?

Bom, segue anexo um exemplo. Veja se atende a sua necessidade.

junior_ehlke
Contributor III

Re: Condição Set Analysis

No exemplo funcionou porém no projeto não, eu tenho nesta planilha calendário original 3 valores para a coluna Auditoria "S","A","N"

eu nao sei como funciona o comando GetPossibleCount(AUDITORIA) = 2 será que pode ser isso?

rphpacheco
Contributor III

Re: Condição Set Analysis

GetPossibleCount() conta a quantidade de registros possíveis para determinado campo. Como no exemplo que você passou existia apenas 2 opções, acabei fixando o if dentro da condição que se tivessem duas opções possíveis então o valor 'S' estaria dentro da analise.

O problema é que com 3 opções não rola. Mas sugiro que vc crie uma Flag em seu script de carga em que traga um booleano com a condição de: se AUDITORIA = 'S' True() senão False().

Depois apenas troque o campo no GetPossibleCount(AUDITORIA) para GetPossibleCount(Flag).

Com isso dará certo

junior_ehlke
Contributor III

Re: Condição Set Analysis

Bom dia novamente, não estou conseguindo pensar direito,

neste exemplo é mais próximo a minha realidade, vou contar o que eu preciso as vezes vocês tem alguma ideia melhor.

cada loja tem um percentual descontado do seu faturamento mes a mes, essa conta eu fiz em uma variável

var_valor=(faturamento * 0,30%)

então quando a loja tem um "S" quer dizer que temos que fazer esse desconto referente ao mes selecionado

Quanto a loja tem um "A" quer dizer que eu tenho que pegar a soma dos valores descontados nos meses anteriores, ou seja, a soma dos "S" e somar para a loja novamente e quando tem "N" não faz nada.

portanto se tem "S" faz o calculo apenas para o mes

quando tem "A" faz o calculo para todos os meses da loja selecionada

se tiver "N" não faz nada.

do jeito que esta, se eu seleciono todos os meses, ou o valor traz zero ou traz a soma de todos, também não sei se o correto é utilizar com variáveis os cálculos.