Ir para conteúdo
  • 0

Fórmula para calculo de comissão


getswitch
Ir para solução Solucionado por Rodrigo R1 ,

Pergunta

  • Membros

Bom dia

Estou com dificuldade para fazer uma fórmula para o calculo de comissão, preciso que na coluna "Comissão Imobiliária" apareça o porcentual equivalente do que o cliente pagou o valor de entrada(Valor de entrada = 20.000, Valor pago pelo cliente = 10.000, % de comissão = 2.000, Comissão Imobiliária da primeira parcela = 1.000) e o restante da comissão somente quando o cliente chegar no valor de entrada. Segue imagem abaixo para melhor entendimento. 

Na imagem a formula que utilizei calcula corretamente a primeira parcela, mas preciso que nesse exemplo 1.000 seja pago na primeira parcela e o restante apenas quando o acumulado pago chegar no valor da entrada.

Obrigado.

tabela clientes.png

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Oi @getswitch....

Bom....vamos lá...rsrsrs

Precisaremos dar alguns passos pra trás...rsrsrs

A primeira coisa a ser feita é ajustar o seu modelo:

image.png.84b36dbaadd55f0189ee01b82313476a.png

Nele tem apenas 2 tabelas que tem relacionamento bidirecional - o que não é interessante manter esse tipo de relacionamento entre tabelas.

Outro detalhe é que as 2 tabelas me parecem tabelas fato - mais um motivo para evitar esse relacionamento, pois não se deve relacionar tabelas fato.

Além do que, penso que seu modelo precisa das seguintes dimensões:

dcalendario,

dClientes, 

dImobiliaria,

dEmpreendimento,

dGestor,

dMétodoPagamento.

E penso que talvez 2 tabelas fato seriam suficientes para atender o seu modelo:

fVendasEmpreendimento - para informar o valor do imóvel e a entrada, por exemplo.

fpagamentoParcelas - para controle de pagamento das parcelas futuras.

Nas dimensões você irá deixar apenas a chave única e as características que pertencem a elas.

Nas fatos, você vai deixar apenas as chaves únicas de cada dimensão e as informações das vendas, como data, valor, parcelas, % comissão....

Isso estou falando pensando por alto mesmo...rsrsrs....pq tudo depende do modelo de negócios.

Mas posso te garantir que com o modelo bem estruturado assim, será muito mais fácil fazer as análises depois, via DAX.

Outra coisa que percebi é que você está criando várias colunas calculadas nas sua tabelas - em Excel fazemos assim, mas no PBI não é recomendado essa prática.

Isso não é performático e também não é a melhor alternativa. Tente evitar isso sempre!

Quando se envolve cálculos com valores, devemos sempre priorizar criar medidas - por serem dinâmicas.

Por essa razão, que está havendo essa divergência entre a solução que estou apresentando - via medidas - e você está fazendo a adaptação delas para usa-las em colunas.

Aí vai dar ruim mesmo....rsrsrs

Resumindo....

pra conseguirmos uma solução ideal para o seu case, será necessário realizar antes essas etapas acima.

Eu poderia até criar aqui a coluna calculada como você deseja....mas eu não estaria contribuindo em nada com seu aprendizado, entende?

Vai por mim....seguir o que eu escrevi acima vai ser bem melhor....esse é o caminho ideal, conforme é ensinado pelo Mestre Leonardo.

Espero que tenha conseguido contribuir.

Sucesso aí, amigo.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Bom dia, @getswitch, tudo bem amigo?

Para a sua dúvida, talvez seja mais fácil fazer o cálculo da comissão a partir do valor acumulado.

Para isso eu fiz duas medidas de comissão:

1 - Comissão Primeira Parcela = [Valor Pago] * 0.10

2 - Comissão Total = [Valor Entrada] * 0.10

A partir daí, a medida final:

Comissão da Imobiliária = 

SWITCH(

true(),

[Valor Acumulado] = [Valor Pago], [Comissão Primeira Parcela],

[Valor Acumulado] >= [Entrada], [Comissão Total] - [Comissão 1],

0)

As medidas Valor Pago e Entrada são apenas somas das colunas.

Veja se assim daria certo no seu modelo.

Espero que tenha ajudado.

Sucesso aí, amigo.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
2 horas atrás, Rodrigo R1 disse:

Bom dia, @getswitch, tudo bem amigo?

Para a sua dúvida, talvez seja mais fácil fazer o cálculo da comissão a partir do valor acumulado.

Para isso eu fiz duas medidas de comissão:

1 - Comissão Primeira Parcela = [Valor Pago] * 0.10

2 - Comissão Total = [Valor Entrada] * 0.10

A partir daí, a medida final:

Comissão da Imobiliária = 

SWITCH(

true(),

[Valor Acumulado] = [Valor Pago], [Comissão Primeira Parcela],

[Valor Acumulado] >= [Entrada], [Comissão Total] - [Comissão 1],

0)

As medidas Valor Pago e Entrada são apenas somas das colunas.

Veja se assim daria certo no seu modelo.

Espero que tenha ajudado.

Sucesso aí, amigo.

Testei sua ideia e acho que vai funcionar, tive apenas um problema, o valor da minha variável "ValorPrimeiraParcela" está correto quando eu utilizo para mostrar a primeira parcela, porem quando uso na formula "Comissao Total" - "ValorPrimeiraParcela" o valor sai diferente.

problema formula.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Amigo, mas nessa sua medida vc colocou pra retornar o valor da primeira parcela no segundo argumento do segundo switch - também não entendi porque usar 2 switch..rsrsrs

Confere aí por gentileza a minha sugestão, com a sua medida.

Sugestao: quando for usar as medidas, não precisa informar a tabela onde elas estão.

Assim, deixa as outras medidas mais enxutas e facilita a compreensão.

Aguardo seu retorno.

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
5 minutos atrás, Rodrigo R1 disse:

Amigo, mas nessa sua medida vc colocou pra retornar o valor da primeira parcela no segundo argumento do segundo switch - também não entendi porque usar 2 switch..rsrsrs

Confere aí por gentileza a minha sugestão, com a sua medida.

Sugestao: quando for usar as medidas, não precisa informar a tabela onde elas estão.

Assim, deixa as outras medidas mais enxutas e facilita a compreensão.

Aguardo seu retorno.

 

hahaaha, eu coloquei o valor da primeira parcela no segundo argumento do segundo switch para mostrar que no primeiro ele é 600 e na terceira parcela ele aparece como 400. Isso não entendi o porquê.

O primeiro SWITCH serve para selecionar o tipo de pagamento de comissão, que pode ser A,B ou C.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Ele é 400 porque é um iteração linha a linha. Aí ele considera o valor que está na parcela, que é 4.000, que 10% é 400. 

Por isso, que no segundo argumento vc coloca o valor total da comissão - o valor da primeira comissão, (que já foi paga) como fiz acima. 

Veja que são condições diferentes no Switch, pra atender sua necessidade: uma verifica o valor da parcela paga x acumulado e a outra verifica o valor da entrada X acumulado, entendeu?

Ajusta a medida como eu te enviei e verifica se o valor confere, por favor.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
7 minutos atrás, Rodrigo R1 disse:

Ele é 400 porque é um iteração linha a linha. Aí ele considera o valor que está na parcela, que é 4.000, que 10% é 400. 

Por isso, que no segundo argumento vc coloca o valor total da comissão - o valor da primeira comissão, (que já foi paga) como fiz acima. 

Veja que são condições diferentes no Switch, pra atender sua necessidade: uma verifica o valor da parcela paga x acumulado e a outra verifica o valor da entrada X acumulado, entendeu?

Ajusta a medida como eu te enviei e verifica se o valor confere, por favor.

Fiz conforme a sua fórmula e o somatório da coluna "Comissão Imobiliária" passou o "Valor Total Comissão".

formula comissao.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

É mesmo amigo, vc tem razão...rsrsrs....me desculpa...rsrs

E na minha explicação acima falei exatamente o que estava acontecendo: da análise linha a linha. mas não me dei conta que isso iria acontecer na parcela final...rsrsrsrs

Enfim....o que precisamos agora é "setar" o valor da parcela de número 1.

Para isso precisamos definir uma coluna que a identifique.

Temos a coluna "Parc" - mas ela pode não ser ideal, caso o parcelamento seja diferente de 3.

A ideia seria fazer o seguinte para o valor da primeira parcela:

Comissão Fixa Primeira Parcela = Calculate([Comissão Primeira Parcela], SuaTabela[Parc] = "1/3")

Dessa forma, irá retornar o valor referente a primeira parcela para todas as linhas. E aí poderemos usar essa medida na subtração do segundo argumento do SWITCH.

Mas tem um outro detalhe...rsrs: se tiver um parcelamento diferente de 3, essa condição não será atendida.

Então sugiro ajustar também sua tabela para que ela tenha uma coluna "Parcelas" e outra de "Parcelamento", assim:

Cliente Parcelas Parcelamento
A 1 3
A 2 3
A 3 3
B 1 4
B 2 4
B 3 4
B 4 4
C 1 2
C 2 2
D 1 3
D 2 3
D 3 3

Aí iremos ajustar a medida novamente para que ela considere o valor da comissão quando a parcela for igual a 1, entendeu? Isso evitará futuros problemas no seu modelo.

Obs.: Pensando bem...rsrsrs....talvez nem seja necessária essa coluna de "parcelamento" no seu modelo....rsrsrs....mas deixei para ficar mais detalhada a minha explicação. A quantidade de parcelas você pode conseguir depois com uma contagem de linha da sua tabela.

Espero que agora tenhamos chegado no seu resultado esperado.

Continuo à disposição em ajuda-lo, amigo.

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
15 horas atrás, Rodrigo R1 disse:

É mesmo amigo, vc tem razão...rsrsrs....me desculpa...rsrs

E na minha explicação acima falei exatamente o que estava acontecendo: da análise linha a linha. mas não me dei conta que isso iria acontecer na parcela final...rsrsrsrs

Enfim....o que precisamos agora é "setar" o valor da parcela de número 1.

Para isso precisamos definir uma coluna que a identifique.

Temos a coluna "Parc" - mas ela pode não ser ideal, caso o parcelamento seja diferente de 3.

A ideia seria fazer o seguinte para o valor da primeira parcela:

Comissão Fixa Primeira Parcela = Calculate([Comissão Primeira Parcela], SuaTabela[Parc] = "1/3")

Dessa forma, irá retornar o valor referente a primeira parcela para todas as linhas. E aí poderemos usar essa medida na subtração do segundo argumento do SWITCH.

Mas tem um outro detalhe...rsrs: se tiver um parcelamento diferente de 3, essa condição não será atendida.

Então sugiro ajustar também sua tabela para que ela tenha uma coluna "Parcelas" e outra de "Parcelamento", assim:

Cliente Parcelas Parcelamento
A 1 3
A 2 3
A 3 3
B 1 4
B 2 4
B 3 4
B 4 4
C 1 2
C 2 2
D 1 3
D 2 3
D 3 3

Aí iremos ajustar a medida novamente para que ela considere o valor da comissão quando a parcela for igual a 1, entendeu? Isso evitará futuros problemas no seu modelo.

Obs.: Pensando bem...rsrsrs....talvez nem seja necessária essa coluna de "parcelamento" no seu modelo....rsrsrs....mas deixei para ficar mais detalhada a minha explicação. A quantidade de parcelas você pode conseguir depois com uma contagem de linha da sua tabela.

Espero que agora tenhamos chegado no seu resultado esperado.

Continuo à disposição em ajuda-lo, amigo.

 

Fiz sua sugestão e parece que o filtro da função CALCULATE não está funcionando. Já testei usar a coluna "Parc" também e não filtrou. Sabe por qual motivo isso pode estar acontecendo?

Screenshot_1.thumb.jpg.54659c8007c5c81b511874267eec5bfc.jpg

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
2 horas atrás, Rodrigo R1 disse:

Oi @getswitch....

Bom....vamos lá...rsrsrs

Precisaremos dar alguns passos pra trás...rsrsrs

A primeira coisa a ser feita é ajustar o seu modelo:

image.png.84b36dbaadd55f0189ee01b82313476a.png

Nele tem apenas 2 tabelas que tem relacionamento bidirecional - o que não é interessante manter esse tipo de relacionamento entre tabelas.

Outro detalhe é que as 2 tabelas me parecem tabelas fato - mais um motivo para evitar esse relacionamento, pois não se deve relacionar tabelas fato.

Além do que, penso que seu modelo precisa das seguintes dimensões:

dcalendario,

dClientes, 

dImobiliaria,

dEmpreendimento,

dGestor,

dMétodoPagamento.

E penso que talvez 2 tabelas fato seriam suficientes para atender o seu modelo:

fVendasEmpreendimento - para informar o valor do imóvel e a entrada, por exemplo.

fpagamentoParcelas - para controle de pagamento das parcelas futuras.

Nas dimensões você irá deixar apenas a chave única e as características que pertencem a elas.

Nas fatos, você vai deixar apenas as chaves únicas de cada dimensão e as informações das vendas, como data, valor, parcelas, % comissão....

Isso estou falando pensando por alto mesmo...rsrsrs....pq tudo depende do modelo de negócios.

Mas posso te garantir que com o modelo bem estruturado assim, será muito mais fácil fazer as análises depois, via DAX.

Outra coisa que percebi é que você está criando várias colunas calculadas nas sua tabelas - em Excel fazemos assim, mas no PBI não é recomendado essa prática.

Isso não é performático e também não é a melhor alternativa. Tente evitar isso sempre!

Quando se envolve cálculos com valores, devemos sempre priorizar criar medidas - por serem dinâmicas.

Por essa razão, que está havendo essa divergência entre a solução que estou apresentando - via medidas - e você está fazendo a adaptação delas para usa-las em colunas.

Aí vai dar ruim mesmo....rsrsrs

Resumindo....

pra conseguirmos uma solução ideal para o seu case, será necessário realizar antes essas etapas acima.

Eu poderia até criar aqui a coluna calculada como você deseja....mas eu não estaria contribuindo em nada com seu aprendizado, entende?

Vai por mim....seguir o que eu escrevi acima vai ser bem melhor....esse é o caminho ideal, conforme é ensinado pelo Mestre Leonardo.

Espero que tenha conseguido contribuir.

Sucesso aí, amigo.

Rodrigo, muito obrigado pela ajuda e pelos ensinamentos, com certeza você me ajudou muito. 🙂

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