Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Gostaria de saber como posso somar dados se que quando repetidos numa mesma data eles devem distintos
Exemplo:
data | Valor |
---|---|
12/05 | 100 |
12/05 | 100 |
12/05 | 100 |
13/05 | 200 |
13/05 | 200 |
13/05 | 50 |
Resultado
Data | Valor |
---|---|
12/05 | 100 |
13/05 | 250 |
Diego,
Creio que se vc usar SUM(DISTINCT VALOR) deva funcionar, com a dimensão data.
Utilize Distinct e Aggr para garantir que não perder valor que deveria retornar.
SUM(AGGR(SUM(DISTINCT Valor),data))
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.
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 , sendo esta uma tabela fato (ou seja, que pode fazer referências múltiplas do campo chave de ). Liguei as tabelas via Left Join (A-B). Isto ocorre quando se está montando um cubo onde se deseja...
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:
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