Ir para conteúdo
  • 0

Soma de valor distintos com 2 critérios de coluna (id e data)


Rafael Pimentel
Ir para solução Solucionado por Tiago Craici - Xperiun ,

Pergunta

  • Alunos

Boa noite pessoal!

Tenho uma base que possui valores duplicados e preciso realizar uma soma distinta por id e data.

Realizei a medida com SUMX,  Values e Average, porém quando tenho casos de uma entrada e um cancelamento com valor menor em dias diferente (exemplo id 8 ),  não é considerada a data e o resultado é dividido por 2. Exemplo id 8 =  (200-150) /2 = 25  Preciso que seja retornado o valor de 50 que é a diferença que restou, devido a data de entrada ser no dia 19/11 e o estorno 20/11.

Abaixo segue a medida que utilizei e a tabela. Tentei usar 2 critérios de Values (para id e data) dentro do Sumx, porém não funcionou. Existe outra forma de fazer este calculo? 

Medida =
SUMX(
    VALUES(Tabela[id]),
     CALCULATE(
         AVERAGE(Tabela[Valor])
     )
 )


Abaixo simulei uma tabelinha com as informações que preciso realizar a soma. 

id Data Valor
1 01/11/2022  R$             50,00
1 01/11/2022  R$             50,00
1 01/11/2022  R$             50,00
2 05/11/2022  R$           100,00
2 05/11/2022  R$           100,00
2 05/11/2022  R$           100,00
3 05/11/2022  R$           400,00
3 10/11/2022 -R$           350,00
4 15/11/2022  R$        1.000,00
4 15/11/2022 -R$           500,00
5 16/11/2022  R$             60,00
6 17/11/2022  R$             80,00
7 18/11/2022  R$             90,00
8 19/11/2022  R$           200,00
8 20/11/2022 -R$           150,00

 

Valeu Abraços

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Admin
  • Solução

Bom dia @Rafael Pimentel

Segue resultado:
image.png.6e7a2aa5962fa4dfacc1972e4bde1900.png



medida:
 

Total com cancelamento =
 var totalID = COUNT(Tabela[id])
 
 return
 if([Total] <0,
    CALCULATE(
    [Total],
    offset(
        -1,
        ALLSELECTED(Tabela[Data]),
        orderby(Tabela[Data], asc)
    )
)
    + [Total],
    DIVIDE([Total], totalID)
)




 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Admin

Boa noite @Rafael Pimentel

Veja se atende ao seu objetivo. 

Resultado:
image.png.3d8cf3f22a131e5e657eefdf40e0c443.png


Medidas:

Total =
sum(Tabela[Valor])

 

Total com cancelamento =
 
 if([Total] <0,
CALCULATE(
    [Total],
    offset(
        -1,
        ALLSELECTED(Tabela[Data]),
        orderby(Tabela[Data], asc)
    )
)
 + [Total]
)


Observação: a função OFFSET é nova e ainda não consta na documentação da Microsoft porém a mesma já está funcionando. 


Em anexo o arquivo pbix para entendimento. 









 

Rafael Pimentel.pbix

Editado por Tiago Craici
  • Like 1
Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...