Forum Discussion

RicardoLeivaG's avatar
4 years ago
Solved

Calcute de horas

Hola comunidad, 

tengo el siguiente tema tengo una medida que suma una diferencia de entre horas (H:nn), hasta ahi todo bien funciona perfecto, pero pasa que un dia dd/mm/aaaa = 05/09/2022, a la hora de atraso debo restarle 1 hora, por un fallo en el motor de SQL, me explico, si la persona entraba a las 07:00, pero marco a las 08:22, enves de sumar 1:22, debo sumar solo 0:22, esta es la funcion

 

Atrasos v2 =
        VAR __sumatrasos =
        CALCULATE
                (SUM(T_MARCA_LINEA[tiempo atrasos]),
                FILTER(T_MARCA_LINEA,T_MARCA_LINEA[Hora Entrada]>=T_MARCA_LINEA[Hora oficina]),
                FILTER(T_MARCA_LINEA,T_MARCA_LINEA[Hora Entrada]<= T_MARCA_LINEA[SALIDA]))
        RETURN __sumatrasos
 
¿como puedo agregar esa excepcion?
  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi RicardoLeivaG ,

     

    I think you can try this code to calcualte the datetime you want.

    Delays v2 =
    VAR __sumatrasos =
        CALCULATE (
            SUM ( T_LINE_MARK[time delays] ),
            FILTER ( T_LINE_MARK_MARK, T_LINE_MARK[Entry Time] >= T_LINE_MARK[Office Time] ),
            FILTER (
                T_LINE_MARK_LINE,
                T_LINE_LINE_MARK[Time In] <= T_LINE_LINE_MARK[Time Out]
            )
        )
    VAR _CONVERT =
        __sumatrasos
            - TIME ( HOUR ( __sumatrasos ) - 7, 0, 0 )
    RETURN
        _CONVERT

     

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi RicardoLeivaG ,

     

    I think you can try this code to calcualte the datetime you want.

    Delays v2 =
    VAR __sumatrasos =
        CALCULATE (
            SUM ( T_LINE_MARK[time delays] ),
            FILTER ( T_LINE_MARK_MARK, T_LINE_MARK[Entry Time] >= T_LINE_MARK[Office Time] ),
            FILTER (
                T_LINE_MARK_LINE,
                T_LINE_LINE_MARK[Time In] <= T_LINE_LINE_MARK[Time Out]
            )
        )
    VAR _CONVERT =
        __sumatrasos
            - TIME ( HOUR ( __sumatrasos ) - 7, 0, 0 )
    RETURN
        _CONVERT

     

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.