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

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

@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
  • Alunos

@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
  • Alunos

@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
  • Alunos
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

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...