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 ,

Pergunta

  • Membros

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
  • Membros
  • 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
  • Membros

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
  • Gostei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...