4 Replies Latest reply: Nov 24, 2016 7:51 PM by evandro segura RSS

    Distinguir dados repetidos numa mesma data e somar o resto

    Diego Machado

      Bom dia,

       

      Gostaria de saber como posso somar dados se que quando repetidos numa mesma data eles devem distintos

      Exemplo:

       

      dataValor
      12/05100
      12/05100
      12/05100
      13/05200
      13/05200
      13/0550

       

      Resultado

      DataValor
      12/05100
      13/05250
        • Re: Distinguir dados repetidos numa mesma data e somar o resto
          Rogerio Ferreira

          Diego,

           

          Creio que se vc usar SUM(DISTINCT VALOR) deva funcionar, com a dimensão data.

          • Re: Distinguir dados repetidos numa mesma data e somar o resto
            Yuri Nicolett

            Utilize Distinct e Aggr para garantir que não perder valor que deveria retornar.

             

             

            SUM(AGGR(SUM(DISTINCT Valor),data))

            • Re: Distinguir dados repetidos numa mesma data e somar o resto
              Fernando Tonial

              Olá Diego,

              a solução do Yuri é a mais indicada para resolver essa situação via interface gráfica.

               

              Recomendo a utilização do Distinct na leitura dos dados, assim você não precisa se preocupar com valores repetidos.

               

              Qlikfique-se.

              Abraços.

              Tonial.

              • Re: Distinguir dados repetidos numa mesma data e somar o resto
                evandro segura

                Diego,

                 

                Não obstante a data do seu post, como a questão ficou como supostamente respondida, deixe-me dar uma contribuição aqui.

                 

                Interessante as contribuições dos amigos Yuri e Fernando Tonial. No entanto fiz um laboratório da sua questão e cheguei numa solução mais simples. Veja exemplo abaixo onde simulei a junção de duas tabelas onde dá um produto cartesiano, a exemplo da tabela [A ] como dimensão (onde o campo chave possui unicidade), mas ao ligá-la com a tabela [B],  sendo esta uma tabela fato (ou seja, que pode fazer referências múltiplas do campo chave de [A]). Liguei as tabelas via Left Join (A-B). Isto ocorre quando se está montando um cubo onde se deseja juntar dados em uma mesma tabela produto de A com B. Daí a preocupação de o dado não se repetir pelo campo chave quando os dados a ele atrelados forem referenciados.

                 

                Em síntese, o que você precisa é tão somente agregar os registros lidos pelo campo chave com a regra abaixo:

                 

                =SUM( AGGR( [DADO_DESEJADO], [CAMPO_CHAVE] ) )

                 

                Como os números não mentem, observei que  não há necessidade de DISTINCT nem de dois SUMs, pois

                ao AGREGAR o DADO_DESEJADO pelo CAMPO_CHAVE o sistema tira as duplicidades, e por último o SUM faz a soma para atender aos filtros aplicados ou campos dimensão utilizados no aplicativo.

                 

                Compreenda melhor vendo meu exemplo:

                 

                EXEMPLO_AGGR2.png

                Os números agora sim batem pois antes a soma do contrato  C0003 dava 300*3=900 devido ao produto cartesiano. Espero ter ajudado.

                Evandro