Ir para conteúdo
  • 0

Horas no POWER BI


Gilberto Ferreira
Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos

A minha meta é de 02:05:00, mas ao aplicar a formula Dax de horas a medida retorna 02:04:60
Alguém sabe como faço para arredondar para cima? segue anexo print com o erro:

Estou utilizando a medida a seguir:

001_MetaAnoAtual_TR =
VAR vHorasDecimal = [000_Media_Decimal_TR]
VAR vHoras = INT(vHorasDecimal)
VAR vMinutosDecimal = 60 * (vHorasDecimal-vHoras)
VAR vMinutos = INT(vMinutosDecimal)
VAR vSegundos = ROUND(60 * (vMinutosDecimal-vMinutos),0)
VAR vHH = IF(LEN(vHoras)=1, "0"&vHoras, vHoras)
VAR vMM = IF(LEN(vMinutos)=1, "0"&vMinutos, vMinutos)
VAR vSS = IF(LEN(vSegundos)=1, "0"&vSegundos, vSegundos)
RETURN
// vHH&":"&VMM&":"&vSS
CONVERT(vHH&vMM&vSS, INTEGER)

dúvida_horas.jpg

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Suave @Gilberto Ferreira?

Ao trabalhar com a soma de horas/minutos/segundos no Power BI convêm sempre fazer os cálculos com base nos segundos e usando uma SUMX() para ter os somatórios corretos no contexto gerado.

Você precisa modificar o teu código para levar isso em conta. Da uma olhada nas dicas que eu coloquei nesse post aqui:

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Editado por Joao Raulino
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, Joao Raulino disse:

Suave @Gilberto Ferreira?

Ao trabalhar com a soma de horas/minutos/segundos no Power BI convêm sempre fazer os cálculos com base nos segundos e usando uma SUMX() para ter os somatórios corretos no contexto gerado.

Você precisa modificar o teu código para levar isso em conta. Da uma olhada nas dicas que eu coloquei nesse post aqui:

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Fala João, boa tarde.

Eu tentei ajustar conforme você sugeriu, ao transformar minha coluna de horas em decimal,

multipliquei por 86400, não de certo.

multipliquei por 3600, não deu certo.

multipliquei por 24, esse foi o mais próximo da realidade que cheguei, ou seja, a medida retornou 02:04:60 quando deveria retornar 02:05:00

estou te enviando um modelo genérico do projeto caso deseje analisar.

base2.xlsx dash.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Gilberto Ferreira, blz! O problema que está ocorrendo ai, é que o power bi está fazendo um arredondamento pra cima sem sua autorização rs. O valor correto dos minutos é 4 e não 5.

Seu valor de hora decimal é 2,083333333, sendo assim, sabemos que a hora é 2. 

image.png.acfc8ce46c66f76ff7c09f3adeed8222.png

Portanto, o valor do seu minuto decimal deveria ser:
image.png.daa8c11e9dbbad351804d4e24aa385bf.png

Porém o power bi está arredondando sozinho. E é ai que se encontra seu problema.
image.png.bb9afd30526480056b66cfcac9914d9e.png

Uma maneira de driblar isso, é colocar um arredondamento pra baixo nos minutos.
image.png.bd02694be5cc5a36f18ceffe91bf3ebf.png

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
7 minutos atrás, Edson Igari disse:

@Gilberto Ferreira, blz! O problema que está ocorrendo ai, é que o power bi está fazendo um arredondamento pra cima sem sua autorização rs. O valor correto dos minutos é 4 e não 5.

Seu valor de hora decimal é 2,083333333, sendo assim, sabemos que a hora é 2. 

image.png.acfc8ce46c66f76ff7c09f3adeed8222.png

Portanto, o valor do seu minuto decimal deveria ser:
image.png.daa8c11e9dbbad351804d4e24aa385bf.png

Porém o power bi está arredondando sozinho. E é ai que se encontra seu problema.
image.png.bb9afd30526480056b66cfcac9914d9e.png

Uma maneira de driblar isso, é colocar um arredondamento pra baixo nos minutos.
image.png.bd02694be5cc5a36f18ceffe91bf3ebf.png

 

Fala meu amigo Edson, A meta é realmente 02:05 conforme print a seguir...

image.png.a4e87cfd127843848468a6ab676db28d.png

 

Por algum motivo, quando exporto a base para o power bi, ele transforma a hora para o tipo inteiro ficando 205, 

image.png.d794fdbc9e49faeda79dcf7adb95df70.png

 

Tratei esse impasse da seguinte forma:

1º  Dividir a coluna extraindo o primeiro caracter, e depois dividi novamente extraindo o segundo,  

2º  Logo em seguida mesclei as duas colunas separando com dois pontos.

3º  Converti o tipo para hora

4º  Depois dupliquei a coluna convertendo para Decimal e multiplicando por 24

 

image.png.0999bd6867cd524c042ac19aa4949c05.png

 

Acredito que o Cálculo está correto, 02:04:60 é o mesmo que 02:05:00 porém esteticamente fica ruim, preciso de uma forma para  arredondar corretamente para ficar 02:05:00 que é mais conveniente.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
17 horas atrás, Edson Igari disse:

No arquivo que você mandou está 2,08333333333333 como referência a 02:05:00 e isso da 02:04:59. Se você quer que o resultado seja exatamente 02:05:00, o valor tem que ser 2,0834 (segundo print);

image.png.391881cf05b2955ba1417b7468ebfded.png

 

image.png.52960021267f1898f7b4354d5d4bfcce.png

image.png.99016d78d3ba4d1256b75b23f9cf2cab.png

 

Gostei de sua sugestão, meu problema é que não posso criar uma coluna com uma meta padrão, pois essa meta muda periodicamente.

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