Utilizando horas no formato HH:MM:SS no Power BI
Citação de Marcos Soares em 14/02/2023, 17:11Olá, pessoal. Compartilhar com vocês uma função muito útil que me ajudou demais em um projeto. Nesse projeto precisava converter um valor em decimal (resultado de uma subtração) para o formato HH:MM:SS. Além disso, precisava também pegar a média desse valor e retorná-lo em HH:MM:SS.
Lembrando que esse era o formato decimal extraído direto do SGBD.
Após algumas horas de testes e buscas, consegui cumprir a tarefa. Deixo abaixo resultado dos indicadores e os código DAX utilizados no Power BI.
MEDIDA DAX TEMPO
Tempo Giro =var vHorasDecimal = sum(VW_BI_TC_CC[SOMA_TEMPO_GIRO]) * 24var vHoras = int (vHorasDecimal)var vMinutosDecimal = 60 * ( vHorasDecimal - vHoras) * 1.0000000000001var 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)returnconvert (vHH & vMM & vSS, INTEGER)MEDIDA DAX MEDIA TEMPO
Tempo Média Giro =var vHorasDecimal = (sum(VW_BI_TC_CC[SOMA_TEMPO_GIRO]) * 24) / sum(VW_BI_TC_CC[QNT_CIRURGIA])var vHoras = int (vHorasDecimal)var vMinutosDecimal = 60 * ( vHorasDecimal - vHoras) * 1.0000000000001var 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)returnconvert (vHH & vMM & vSS, INTEGER)
Deixo abaixo alguns links que me ajudaram na empreitada.
https://cursos.alura.com.br/forum/topico-converter-numero-decimal-em-formato-de-horas-com-dax-178424
https://powerbiexperience.com/pt/blog/como-trabalhar-com-horas-no-formato-hhmmss-case-de-pcp-producao/
https://www.youtube.com/watch?v=d6uDGLDisy8
Espero que lhe seja útil.
Olá, pessoal. Compartilhar com vocês uma função muito útil que me ajudou demais em um projeto. Nesse projeto precisava converter um valor em decimal (resultado de uma subtração) para o formato HH:MM:SS. Além disso, precisava também pegar a média desse valor e retorná-lo em HH:MM:SS.
Lembrando que esse era o formato decimal extraído direto do SGBD.
Após algumas horas de testes e buscas, consegui cumprir a tarefa. Deixo abaixo resultado dos indicadores e os código DAX utilizados no Power BI.
MEDIDA DAX TEMPO
Tempo Giro =var vHorasDecimal = sum(VW_BI_TC_CC[SOMA_TEMPO_GIRO]) * 24var vHoras = int (vHorasDecimal)var vMinutosDecimal = 60 * ( vHorasDecimal - vHoras) * 1.0000000000001var 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)returnconvert (vHH & vMM & vSS, INTEGER)
MEDIDA DAX MEDIA TEMPO
Tempo Média Giro =var vHorasDecimal = (sum(VW_BI_TC_CC[SOMA_TEMPO_GIRO]) * 24) / sum(VW_BI_TC_CC[QNT_CIRURGIA])var vHoras = int (vHorasDecimal)var vMinutosDecimal = 60 * ( vHorasDecimal - vHoras) * 1.0000000000001var 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)returnconvert (vHH & vMM & vSS, INTEGER)
Deixo abaixo alguns links que me ajudaram na empreitada.
https://cursos.alura.com.br/forum/topico-converter-numero-decimal-em-formato-de-horas-com-dax-178424
Espero que lhe seja útil.