9 Replies Latest reply: Oct 8, 2015 3:28 PM by Felipe Dutra RSS

    Ajuda em Set Analisys

    Cesar Anton

      Bom dia!

      Precisaria de ajuda para o finalizar quadro resumo da consulta em anexo, são os valores que estão zerados.

       

      Este resumo é um espelho para o quadro apresentado a direita, que contém as vendas para os clientes nas duas coleções.

      Abaixo coloquei os valores esperados quando a seleção for a mencionada no exemplo.

      Se puderem ajudar agradeço antecipadamente

        • Re: Ajuda em Set Analisys
          Yuri Nicolett

          cesarc2sistemas

          Acredito que a melhor maneira é você criar um campo flag para marcar o que é ou não da coleção atual.

          A forma que esta fazendo a sua expressão pode ficar muito complexa para determinadas agregações e isso seria facilitado com a criação do campo flag

            • Re: Ajuda em Set Analisys
              Cesar Anton

              Bom dia Yuri Obrigado pelo retorno!

              É que a coleção atual vai variar conforme o filtro que eu fizer no campo Coleção Atual.

              A coleção anterior está vinculada a ela através da tabela Agrupamentos.

              Por isso que ao ler as vendas da coleção anterior, eu desprezo o filtro feito e leio com todas as possibilidades da coleção anterior: P(DES_COD_COLECAO_ANTERIOR).

              Sempre será feito um único filtro na coleção atual e um único filtro no representante.

              Já consumi quase um dia tentando ler essa combinação (atual X anterior) e até agora sem sucesso.

              Grato pela atenção

                • Re: Ajuda em Set Analisys
                  Felipe Dutra

                  Cesar,

                   

                  Seguem as expressões:

                   

                  Count({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO_ANTERIOR))'},DES_COD_CLIENTE-={"=Count({<DES_COD_COLECAO={$(=Only(DES_COD_COLECAO))}>}DES_COD_CLIENTE)"}>}DISTINCT DES_COD_CLIENTE)

                   

                  Sum({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO_ANTERIOR))'},DES_COD_CLIENTE-={"=Count({<DES_COD_COLECAO={$(=Only(DES_COD_COLECAO))}>}DES_COD_CLIENTE)"}>}DES_QTD_ORIGINAL)

                   

                  Count({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO))'},DES_COD_CLIENTE-={"=Count({<DES_COD_COLECAO={$(=Only(DES_COD_COLECAO_ANTERIOR))}>}DES_COD_CLIENTE)"}>}DISTINCT DES_COD_CLIENTE)

                   

                  Sum({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO))'},DES_COD_CLIENTE-={"=Count({<DES_COD_COLECAO={$(=Only(DES_COD_COLECAO_ANTERIOR))}>}DES_COD_CLIENTE)"}>}DES_QTD_ORIGINAL)

                   

                  Espero ter ajudado.

                   

                  Abs,

                  Felipe

                    • Re: Ajuda em Set Analisys
                      Cesar Anton

                      Boa tarde Felipe!

                      Além de ajudar ensinou muito, só ficou um detalhe, quando testo se ocorreu venda na coleção diferente da que estou analisando devo considerar o período da coleção, perceba que incluí na sua expressão o primeiro teste do período de venda da coleção anterior, ok, está funcionando, mas como eu incluo o teste do período de venda da coleção atual? Tentei colocar junto ao count mas não funcionou, abaixo a sua expressão sem o segundo teste e a minha alteração que não está funcionando, se puder mais uma vez me ajudar eu agradeço.

                      Obrigado Antecipadamente

                       

                      Sua Expressão, já com o teste do período da coleção anterior que está funcionando:

                      Count({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO_ANTERIOR))'}, DES_DAT_EMISSAO = {">=$(=DES_DAT_INICIO_COLECAO_ANTERIOR)<=$(=DES_DAT_TERMINO_COLECAO_ANTERIOR)"},
                                  DES_COD_CHAVE_CLIENTE -={"=Count({< DES_COD_COLECAO={$(=Only(DES_COD_COLECAO))} >}DES_COD_CHAVE_CLIENTE)"} >} DISTINCT DES_COD_CHAVE_CLIENTE)

                       

                      Com o teste incluído (em Negrito)

                      Count({<DES_COD_COLECAO={'$(=Only(DES_COD_COLECAO_ANTERIOR))'}, DES_DAT_EMISSAO = {">=$(=DES_DAT_INICIO_COLECAO_ANTERIOR)<=$(=DES_DAT_TERMINO_COLECAO_ANTERIOR)"},
                                  DES_COD_CHAVE_CLIENTE -={"=Count({< DES_COD_COLECAO={$(=Only(DES_COD_COLECAO))} , DES_DAT_EMISSAO = {">=$(=DES_DAT_INICIO_COLECAO)<=$(=DES_DAT_TERMINO_COLECAO)"} >}DES_COD_CHAVE_CLIENTE)"} >} DISTINCT DES_COD_CHAVE_CLIENTE)

                        • Re: Ajuda em Set Analisys
                          Felipe Dutra

                          Cesar,

                           

                          Se eu entendi, você só considera as emissões ocorridas no período de vigência da coleção. Correto?

                          Caso seja isso, acredito que os ajustes que fiz em sua aplicação vão atender a sua necessidade.

                          Criei um Flag no script que identifica se a emissão ocorreu dentro da vigência da coleção, assim a expressão fica mais simples.

                           

                          Analisa se te atende.

                           

                          Abs,

                          Felipe

                            • Re: Ajuda em Set Analisys
                              Felipe Dutra

                              Ah... uma observação:

                              A verificação se a emissão ocorreu dentro da vigência não alterou o resultado, pois para a vigência selecionada e para anterior não ocorreram emissões fora da vigência da coleção.

                                • Re: Ajuda em Set Analisys
                                  Cesar Anton

                                  Bom dia Felipe!

                                  Sim, não tinha nenhuma venda fora do período, mas isso foi uma só coincidência para o modelo que disponibilizei. Você me perdoe mas preciso fazer mais uma pergunta, no questionamento que lhe fiz anteriormente para colocar mais um teste dentro da leitura, é de muita importância para mim, pois tenho uma maldita coleção chamada de Permanente, ela tem esse nome pois é vendida durante todo o ano, então por exemplo, se eu selecionar uma coleção permanente, preciso fazer as comparações dela com ela própria, mas dentro de períodos diferentes. Por isso que incluir mais um teste dentro do primeiro modelo que você me enviou seria importante. Se tiver jeito, peço sua ajuda.

                                  Obrigado

                                • Re: Ajuda em Set Analisys
                                  Cesar Anton

                                  Obrigado Felipe, sua solução me ajudou bastante.

                                  Ficou perfeito