Ir para conteúdo
  • 0

Ajuda com Dash de Logistica


alexsander.silva
Ir para solução Solucionado por paulocesarmlf ,

Pergunta

  • Alunos

Estou fazendo um Dashboard do setor de Logística, onde estou tentando mostrar no gráfico abaixo o custo por mês (Custo Fixo + Custo Variável). Estou com dois problemas, no gráfico fica aparecendo esse "Em branco" antes de janeiro e o outro problema é que se eu somar os valores isolados do mês, o resultado é maior do que o exibido no cartão. Alguém pode me ajudar a solucionar esses problemas? Vou deixar o Pbix em anexo.

image.thumb.png.8be1e3f73007c6ce5140515e2626d713.png

Logistica.pbix

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
9 minutos atrás, alexsander.silva disse:

4621,40.
Vou te explicar a lógica que utilizei. Eu peguei o valor de férias que é 30% do salario e divido por 12 para achar o valor que das férias por mês, depois fiz o mesmo calculo para o 13º Salario. Feito isso peguei o salario mensal de cada um e somei mais 70% de encargos, depois somei o valor rateado das férias e décimo terceiro em cima desse valor, depois somo os valores e divido pelo numero de caminhões que no caso é 13, gerando o custo mensal com funcionário de 4621,40 por caminhão.

Entendi, vei então para resolver isso é só tu criar uma nova medida de funcionario:
 

Custo Mensal Fun =
SUMX(
VALUES(dCalendario[Mes Abrev]),
[Custo Mensal Funcionario])

 


Depois substitui lá na medida Custo Fixo a medida Custo Mensal Funcionario por essa nova Custo Mensal Fun... o resultado vai ser esse:


image.png.148a2dee38bc10faef7d9f066849449e.png


A soma deles individualmente vai bater com o valor do card....


Agora eu notei que ta vindo o custo de funcionários de abril (justamente por não existir o relacionamento), não sei se você quer que ele apareça já que na tabela que mandou não tem dados de abril...

Caso não queira que os meses sem dados apareça e conte já os custos fixos dele a saída é o seguinte:

1. Crie uma nova coluna na tabela calendário

image.thumb.png.3fca1e0ba366c882f1e4df87e70f5c2e.png 

2. Crie um filtro na página para ficar somente os TRUE, o resultado será esse:

image.png.f3aa65f818e1ce0ce88612fa8d81fb6e.png

 

Sem o mês de abril que não tem dados na tabela que você enviou....


Agora caso queira que já apareça o abril msm sem ter dados só a mudança nas medidas vai funcionar para você.

 

 

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, alexsander.silva disse:

Estou fazendo um Dashboard do setor de Logística, onde estou tentando mostrar no gráfico abaixo o custo por mês (Custo Fixo + Custo Variável). Estou com dois problemas, no gráfico fica aparecendo esse "Em branco" antes de janeiro e o outro problema é que se eu somar os valores isolados do mês, o resultado é maior do que o exibido no cartão. Alguém pode me ajudar a solucionar esses problemas? Vou deixar o Pbix em anexo.

image.thumb.png.8be1e3f73007c6ce5140515e2626d713.png

Logistica.pbix 196 kB · 1 download

Fala meu querido, bom dia!

Cara o que ocorre ai é um problema de modelagem e de DAX.

O mes em branco e o total da soma maior que o do cartão ocorre porque não existe relacionamento entre a tabela de motoristas e fAbastecimento. Assim, ela ta repetindo o mesmo valor para todo mundo (inclusive para um mês inexistente que é o "EM BRANCO" e o de abril (pode notar que são os mesmos valores e que esses valores é exatamente o vaor da medida Custo Mensal Funcionário que esta sendo repitido o mesmo valor para todos os meses por causa da ausência de relacionamento).

Para resolver isso é preciso fazer um relacionamento entre as tabelas como o feito abaixo:

image.png.04fa82a30bbe2046375657e0d9fd7399.png


Garanta que essa tabela dMotorista não tenha mais relacionamento com nínguem pq esse tipo de relacionamento bidirecional pode causar ambiguidades (Caso a tabela dMotorista tenha que fazer relacionamento com algúem você vai ter fazer esse relacionamento se tornar do tipo AMBOS direto na medida)


Com isso você resolve a parte do "EM BRANCO" e a parte do valor de custo mensal do funcionário ser o mesmo para todo mes. como demonstrado abaixo:
image.png.9924ac3cae4d593ded8783ad98bcd0b4.png



Note que o valor de março é diferente dos outros isso ocorre porque o funcionário WALTER não está sendo considerado em março já que não tem nenhuma linha na fAbastecimento para ele.

Se isso não for para ocorrer aconselho você mudar a medida Custo Mensal Funcionário, colocando um ALL na tabela dCalendário (Cuidado para não aplicar o calculate + all com uma variavel dentro, isso não vai funcionar)


Outra coisa que podemos percerber é que no contexto geral do custo mensal de funcionario ele não ta somando todos os custos e sim só replicando um deles. Isso ocorre porque no geral ele usa um contexto completo. Para que no final ele some e mostre o valor correto (Isso é muito importante para que o seu card calcule o valor correto, pq o card usa o contexto "TOTAL" e lá tem que estar o valor correto) é preciso usar a SUMX. Isso não da para ser feito na medida que já existe, porque ela ta toda referenciada a variaveis e como falei acima, a variavel não pode ser utilizada dentro de um CALCULATE. Logo, temos que criar uma medida nova como a medida abaixo:
 

Custo Mensal Fun =
SUMX(
CROSSJOIN(
VALUES(dCalendario[Ano]),
VALUES(dCalendario[Mes Abrev])),
CALCULATE([Custo Mensal Funcionario]))



Agora altera a medida de custo fixo onde lá você chama a medida "Custo Mensal Funcionário" e coloque essa medida nova que foi criada que eu chamei de "Custo Mensal Func".


Isso resolve as duas questões que você trouxe, mas eu aconselho a validar os números pq essa questão do custo do funcionário é complicada caso tenha que ser o mesmo todo mes ou se tiver que fazer uma análise de quando esse funcionario entrou e só ai contar o valor dele.


 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 minutos atrás, paulocesarmlf disse:

Fala meu querido, bom dia!

Cara o que ocorre ai é um problema de modelagem e de DAX.

O mes em branco e o total da soma maior que o do cartão ocorre porque não existe relacionamento entre a tabela de motoristas e fAbastecimento. Assim, ela ta repetindo o mesmo valor para todo mundo (inclusive para um mês inexistente que é o "EM BRANCO" e o de abril (pode notar que são os mesmos valores e que esses valores é exatamente o vaor da medida Custo Mensal Funcionário que esta sendo repitido o mesmo valor para todos os meses por causa da ausência de relacionamento).

Para resolver isso é preciso fazer um relacionamento entre as tabelas como o feito abaixo:

image.png.04fa82a30bbe2046375657e0d9fd7399.png


Garanta que essa tabela dMotorista não tenha mais relacionamento com nínguem pq esse tipo de relacionamento bidirecional pode causar ambiguidades (Caso a tabela dMotorista tenha que fazer relacionamento com algúem você vai ter fazer esse relacionamento se tornar do tipo AMBOS direto na medida)


Com isso você resolve a parte do "EM BRANCO" e a parte do valor de custo mensal do funcionário ser o mesmo para todo mes. como demonstrado abaixo:
image.png.9924ac3cae4d593ded8783ad98bcd0b4.png



Note que o valor de março é diferente dos outros isso ocorre porque o funcionário WALTER não está sendo considerado em março já que não tem nenhuma linha na fAbastecimento para ele.

Se isso não for para ocorrer aconselho você mudar a medida Custo Mensal Funcionário, colocando um ALL na tabela dCalendário (Cuidado para não aplicar o calculate + all com uma variavel dentro, isso não vai funcionar)


Outra coisa que podemos percerber é que no contexto geral do custo mensal de funcionario ele não ta somando todos os custos e sim só replicando um deles. Isso ocorre porque no geral ele usa um contexto completo. Para que no final ele some e mostre o valor correto (Isso é muito importante para que o seu card calcule o valor correto, pq o card usa o contexto "TOTAL" e lá tem que estar o valor correto) é preciso usar a SUMX. Isso não da para ser feito na medida que já existe, porque ela ta toda referenciada a variaveis e como falei acima, a variavel não pode ser utilizada dentro de um CALCULATE. Logo, temos que criar uma medida nova como a medida abaixo:
 

Custo Mensal Fun =
SUMX(
CROSSJOIN(
VALUES(dCalendario[Ano]),
VALUES(dCalendario[Mes Abrev])),
CALCULATE([Custo Mensal Funcionario]))



Agora altera a medida de custo fixo onde lá você chama a medida "Custo Mensal Funcionário" e coloque essa medida nova que foi criada que eu chamei de "Custo Mensal Func".


Isso resolve as duas questões que você trouxe, mas eu aconselho a validar os números pq essa questão do custo do funcionário é complicada caso tenha que ser o mesmo todo mes ou se tiver que fazer uma análise de quando esse funcionario entrou e só ai contar o valor dele.


 

Eu não entendi o por quê tem que ter esse relacionamento bidirecional, a única coisa que preciso e pegar um valor rateado de custo por funcionário e distribuir para os meses, ou seja a tabela de abastecimento não tem a ver com a de funcionário, e no caso o Custo mensal de funcionário tem que ser igual todos os meses pois é um valor geral rateado para o numero de caminhões.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
54 minutos atrás, alexsander.silva disse:

Eu não entendi o por quê tem que ter esse relacionamento bidirecional, a única coisa que preciso e pegar um valor rateado de custo por funcionário e distribuir para os meses, ou seja a tabela de abastecimento não tem a ver com a de funcionário, e no caso o Custo mensal de funcionário tem que ser igual todos os meses pois é um valor geral rateado para o numero de caminhões.

Quanto que é o custo de funcionario que tem que ser colocado todo mês?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
48 minutos atrás, paulocesarmlf disse:

Quanto que é o custo de funcionario que tem que ser colocado todo mês?

4621,40.
Vou te explicar a lógica que utilizei. Eu peguei o valor das férias que é 30% do salario e diz uma divisão por 12 para achar o valor das férias por mês, depois fiz o mesmo calculo para o 13º Salario. Feito isso peguei o salario mensal de cada um e somei 70% de encargos, depois somo o valor rateado das férias e décimo terceiro em cima desse valor. Agora faço a soma dos valores e divido pelo numero de caminhões que no caso é 13, gerando o custo mensal com funcionário de 4621,40 por caminhão.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
7 minutos atrás, paulocesarmlf disse:

Entendi, vei então para resolver isso é só tu criar uma nova medida de funcionario:
 

Custo Mensal Fun =
SUMX(
VALUES(dCalendario[Mes Abrev]),
[Custo Mensal Funcionario])

 


Depois substitui lá na medida Custo Fixo a medida Custo Mensal Funcionario por essa nova Custo Mensal Fun... o resultado vai ser esse:


image.png.148a2dee38bc10faef7d9f066849449e.png


A soma deles individualmente vai bater com o valor do card....


Agora eu notei que ta vindo o custo de funcionários de abril (justamente por não existir o relacionamento), não sei se você quer que ele apareça já que na tabela que mandou não tem dados de abril...

Caso não queira que os meses sem dados apareça e conte já os custos fixos dele a saída é o seguinte:

1. Crie uma nova coluna na tabela calendário

image.thumb.png.3fca1e0ba366c882f1e4df87e70f5c2e.png 

2. Crie um filtro na página para ficar somente os TRUE, o resultado será esse:

image.png.f3aa65f818e1ce0ce88612fa8d81fb6e.png

 

Sem o mês de abril que não tem dados na tabela que você enviou....


Agora caso queira que já apareça o abril msm sem ter dados só a mudança nas medidas vai funcionar para você.

 

 

 

 

 

 

 

 

Excelente!!
Problema resolvido, muito obrigado.

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