13 Replies Latest reply: Jun 3, 2014 1:44 PM by Hamilton Junior RSS

    Condição Set Analysis

    Hamilton Junior

      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?

        • Re: Condição Set Analysis
          Raphael Pacheco

          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!

            • Re: Condição Set Analysis
              Hamilton Junior

              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.

            • Re: Condição Set Analysis
              Raphael Pacheco

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

              • Re: Condição Set Analysis
                Hamilton Junior

                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.

                  • Re: Condição Set Analysis
                    Hamilton Junior

                    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.

                  • Re: Condição Set Analysis
                    Raphael Pacheco

                    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.

                    • Re: Condição Set Analysis
                      Hamilton Junior

                      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?

                        • Re: Condição Set Analysis
                          Raphael Pacheco

                          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

                        • Re: Condição Set Analysis
                          Hamilton Junior

                          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.

                          • Re: Condição Set Analysis
                            Raphael Pacheco

                            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!

                            • Re: Condição Set Analysis
                              Hamilton Junior

                              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.

                                • Re: Condição Set Analysis
                                  Raphael Pacheco

                                  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!


                                • Re: Condição Set Analysis
                                  Hamilton Junior

                                  Sim sim, ajudou muito. Obrigado novamente.