Ir para conteúdo
  • 0

Horas negativas


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

Pergunta

  • Membros

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
  • Membros
  • 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

 

  • Gostei 1
  • Obrigado(a) 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

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
  • Membros

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

  • 0
  • Membros

Boa noite!

@Erick Oliveira, quando eu apliquei esta medidas em uma tabela e coloco um filtro para dia ou semana as somas de horas bateu corretamente, porém no resultado do fechamento do mês ou mais esta dando erro no total seque imagem.   ( REALIZADO - PROGRAMADO = 02:28).

 

 

 image.png.9f282625662701197977062ace8ff750.png

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