Ir para conteúdo
  • 0

Rateio de desconto


Pedro Ornellas
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

@Pedro Ornellas, segue solução. Só que só via funcionar se o desconto for repetido para cada linha.

DESCONTO_RATEIO1 = 
VAR vDescontoPorCodigo = 
    CALCULATE(
        MAX(fVendas[DESCONTO]),
        ALLEXCEPT(fVendas, fVendas[CODIGO],fVendas[Local])
    )
VAR vQtdeProdutosDistintosPorCodigo = 
    CALCULATE(
        DISTINCTCOUNT(fVendas[Cod Produto_32]),
        ALLEXCEPT(fVendas, fVendas[CODIGO], fVendas[Local])
    )
VAR vQtdeProdutosRepetidosPorCodigo = 
    CALCULATE(
        COUNT(fVendas[Cod Produto_32]),
        ALLEXCEPT(fVendas, fVendas[CODIGO], fVendas[Cod Produto_32],fVendas[Local])
    )
VAR vRateio = 
    DIVIDE(vDescontoPorCodigo, vQtdeProdutosDistintosPorCodigo*vQtdeProdutosRepetidosPorCodigo)
RETURN
   vRateio

 

20230102_Modelo_Teste.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Pedrão, quando for solicitar uma ajuda, tenta disponibilizar a base com o maior nível de possibilidades possível pra que possamos trabalhar em cima de todas as variáveis. Enfim, então na verdade o correto não seria somar todos os descontos e depois dividir pela quantidade de produtos na nota?

Exemplo:
image.png.47e436b6a308b364077b316af63a88b6.png

Total de desconto: 29,9 + 29,9 + 10 + 20 = 89,8
Total de produtos: 4
Desconto_rateio = 89,80 / 4 = 22,45

Segue anexo.

Resolução.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Pedro Ornellas, anexe um exemplo em pbix mostrando o suposto erro, por favor. Na sua primeira mensagem, para o código 10075, temos 4 produtos diferentes, sendo eles: 205612, 205331, 205787 e 205447. Para um desconto de 41,48, o rateio seria 10,395 para cada um. Só que isso é perigoso, pois ao fazer uma soma para o produto 205612 para o código 10075, você vai retornar um desconto de 20,79, que está errado. Neste caso você deveria fazer uma medida usando a média e não a soma.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Pedro Ornellas, tente isso.

DESCONTO_RATEIO = 
VAR vDescontoPorCodigo = 
    CALCULATE(
        SUM(fNovoTeste[DESCONTO]),
        ALLEXCEPT(fNovoTeste, fNovoTeste[CODIGO])
    )
VAR vQtdeProdutosDistintosPorCodigo = 
    CALCULATE(
        DISTINCTCOUNT(fNovoTeste[Cod Produto_32]),
        ALLEXCEPT(fNovoTeste, fNovoTeste[CODIGO])
    )
VAR vQtdeProdutosRepetidosPorCodigo = 
    CALCULATE(
        COUNT(fNovoTeste[Cod Produto_32]),
        ALLEXCEPT(fNovoTeste, fNovoTeste[CODIGO], fNovoTeste[Cod Produto_32])
    )
VAR vRateio = 
    DIVIDE(vDescontoPorCodigo, vQtdeProdutosDistintosPorCodigo *vQtdeProdutosRepetidosPorCodigo)
RETURN
    vRateio

 

20221231_Resolução.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Pedro Ornellas, tente isso. Se não der certo, favor mostrar um exemplo baseado no pbix que vc anexou, mostrando qual o resultado desejado.

DESCONTO_RATEIO1 = 
VAR vDescontoPorCodigo = 
    CALCULATE(
        SUM(fVendas[DESCONTO]),
        ALLEXCEPT(fVendas, fVendas[CODIGO],fVendas[Local])
    )
VAR vQtdeProdutosDistintosPorCodigo = 
    CALCULATE(
        DISTINCTCOUNT(fVendas[Cod Produto_32]),
        ALLEXCEPT(fVendas, fVendas[CODIGO], fVendas[Local])
    )
VAR vQtdeProdutosRepetidosPorCodigo = 
    CALCULATE(
        COUNT(fVendas[Cod Produto_32]),
        ALLEXCEPT(fVendas, fVendas[CODIGO], fVendas[Cod Produto_32],fVendas[Local])
    )
VAR vRateio = 
    DIVIDE(vDescontoPorCodigo, vQtdeProdutosDistintosPorCodigo*vQtdeProdutosRepetidosPorCodigo)
RETURN
   vRateio

 

20230101_Modelo_Teste.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
2 horas atrás, Pedro Ornellas disse:

Bruno, bom dia!! Segue abaixo:

image.png.5e9b49304d68b96603009a005c7877ac.png

Modelo_Teste.pbix 4.55 MB · 1 download

@Pedro Ornellas adaptando um pouco o codigo do mestre Bruno , veja se é isso que precisa:

 

DESCONTO_RATEIO1 =
var vcodigo = fVendas_Gbarbosa[CODIGO]
var vproduto = fVendas_Gbarbosa[Cod Produto_32]
 
VAR vDescontoPorCodigo =
    CALCULATE(
        MIN(fVendas_Gbarbosa[DESCONTO]),
        ALLEXCEPT(fVendas_Gbarbosa,fVendas_Gbarbosa[CODIGO]))
 
VAR vQtdeProdutosDistintosPorCodigo =
    CALCULATE(
        DISTINCTCOUNT(fVendas_Gbarbosa[Cod Produto_32]),
         ALLEXCEPT(fVendas_Gbarbosa,fVendas_Gbarbosa[CODIGO]))
 
VAR vQtdeProdutosRepetidosPorCodigo =
    CALCULATE(
        COUNT(fVendas_Gbarbosa[Cod Produto_32]),
        ALLEXCEPT(fVendas_Gbarbosa,fVendas_Gbarbosa[CODIGO],fVendas_Gbarbosa[Cod Produto_32]))
VAR vRateio =
    DIVIDE(DIVIDE(vDescontoPorCodigo, vQtdeProdutosDistintosPorCodigo),vQtdeProdutosRepetidosPorCodigo)
RETURN
   vRateio

Modelo_Teste.pbix

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...