Ir para conteúdo
  • 0

Horas negativas


Jamilson
Ir para solução Solucionado por Erick Oliveira ,

Pergunta

  • Alunos

Boa tarde!

Meus amigos estou trabalhando com horas e deparei com uma questão horas negativas, na minha medida horas positiva bate já horas negativas não .

na imagem H. decimal  e negativa -0,0167  X 60 mm = 1,002 mm, porem a hora não bate conforme a imagem. "esta dando (- 01:59:00) erro.

onde esta meu erro ? 

esta e minha medida "Resultado"

Resultado =
VAR vHoras = SUM(VWVGV_FRQ_F_MOVIMENTO[Banco Horas])
VAR vHora = INT(vHoras)
VAR vMinuto = INT((vHoras - vHora) * 60)
VAR vSegundos = ROUND((vHoras - vHora - DIVIDE(vMinuto, 60)) * 3600, 0)
VAR vHH = IF(LEN(vHora) = 1, "0" & vHora, vHora)
VAR vMM = IF(LEN(vMinuto) = 1, "0" & vMinuto, vMinuto)
VAR vSS = IF(LEN(vSegundos) = 1, "0" & vSegundos, vSegundos)
VAR vResultado = CONVERT (vHH&vMM&vSS, INTEGER)
RETURN
    vResultado

image.png.cbaefca28f752cfee8eb57a149dd67e3.png

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Opa Jamilson;

Acredito que dessa forma atenda o resultado esperado:
 

Resultado = 
VAR vRealizado = SUM(VWVGV_FRQ_F_MOVIMENTO[H. proc. realizado])
VAR vProgramado = SUM(VWVGV_FRQ_F_MOVIMENTO[H. proc. decimal])
VAR vHoras = ABS(vRealizado - vProgramado)
VAR vHora = INT(vHoras)
VAR vMinuto = INT((vHoras - vHora) * 60)
VAR vSegundos = ROUND((vHoras - vHora - DIVIDE(vMinuto, 60)) * 3600, 0)
VAR vHH = IF(LEN(vHora) = 1, "0" & vHora, vHora)
VAR vMM = IF(LEN(vMinuto) = 1, "0" & vMinuto, vMinuto)
VAR vSS = IF(LEN(vSegundos) = 1, "0" & vSegundos, vSegundos)
VAR vResultado = 
    IF(
        vRealizado - vProgramado >= 0,
        CONVERT (vHH&vMM&vSS, INTEGER),
        CONVERT (-vHH&vMM&vSS, INTEGER)
    )
RETURN
    vResultado

 

  • Like 1
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Jamilson

QUando eu precisei trabalhar com horas eu usei muito os ensinamentos do Edney Siqueira.  

Veja se pode te ajudar:

https://www.linkedin.com/pulse/trabalhando-com-horas-power-bi-edney-siqueira/?originalSubdomain=pt

Caso consiga ter bons resultados com esse vídeo inspirador,  dá um aceite no final, blz

Obrigado

Celso Eliezer Esquetini
Meu portfólio
https://bit.ly/3sWdkco

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa noite Jamilson;
Tente  o seguinte:

Resultado = 
VAR vValor = SUM(VWVGV_FRQ_F_MOVIMENTO[Banco Horas])
VAR vHoras = ABS(vValor)
VAR vHora = INT(vHoras)
VAR vMinuto = INT((vHoras - vHora) * 60)
VAR vSegundos = ROUND((vHoras - vHora - DIVIDE(vMinuto, 60)) * 3600, 0)
VAR vHH = IF(LEN(vHora) = 1, "0" & vHora, vHora)
VAR vMM = IF(LEN(vMinuto) = 1, "0" & vMinuto, vMinuto)
VAR vSS = IF(LEN(vSegundos) = 1, "0" & vSegundos, vSegundos)
VAR vResultado = 
    IF(
        vValor >= 0,
        CONVERT (vHH&vMM&vSS, INTEGER),
        CONVERT (-vHH&vMM&vSS, INTEGER)
    )
RETURN
    vResultado

 

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