Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Cálculo de la duración del error entre 2 fechas para las máquinas

Hola

Tengo un conjunto de datos de máquinas que se ejecutan en una fábrica como se indica a continuación:

Error_Type Downtime_Duration Downtime_Started Downtime_Ended Machine Val

Pow_Fail 23 5/2/2020 7:35:53 AM 5/2/2020 7:58:55 AM Mn1 1

Pow_Fail 28 5/2/2020 8:00:06 AM 5/2/2020 8:28:55 AM Mn1 1

Pow_Fail 28 5/2/2020 8:30:05 AM 5/2/2020 8:58:56 AM Mn1 1

Pow_Fail 23 5/2/2020 9:00:06 AM 5/2/2020 9:28:56 AM Mn1 2

La duración del tiempo de inactividad se calcula como diferencia entre Downtime_Ended y Downtime_Started .

Mi requisito es , para cada máquina distinta y cada tipo de error distinto, tenga en cuenta la duración del tiempo de inactividad sólo cuando el valor de la columna "Val" se ha incrementado.

es decir) si Val 1 para las filas adyuvantes , no se ha producido ningún error (no es necesario tener en cuenta las filas 2 y 3, ya que no se ha producido ningún error), pero cuando se ha producido Val 2 , entonces se ha producido un error (es necesario tener en cuenta la duración de la fila 4).

En última instancia, necesito encontrar el tiempo total perdido como tiempo de inactividad durante un día operativo en particular.

Pls Ayúdame .

Gracias por adelantado..

3 REPLIES 3
v-yingjl
Community Support
Community Support

Hola @SwathiSrinivas ,

Puedes probar esta medida si la tengo correctamente:

Measure = 
VAR _startdate =
    SELECTEDVALUE ( 'Table'[Downtime_Started] )
VAR _val =
    SELECTEDVALUE ( 'Table'[Val] )
VAR _lastval =
    LOOKUPVALUE (
        'Table'[Val],
        'Table'[Downtime_Started], CALCULATE (
            MAX ( 'Table'[Downtime_Started] ),
            FILTER (
                ALLEXCEPT ( 'Table', 'Table'[Error_Type], 'Table'[Machine] ),
                'Table'[Downtime_Started] < _startdate
            )
        )
    )
VAR _re =
    CALCULATE (
        MAX ( 'Table'[Downtime_Duration] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Error_Type], 'Table'[Machine] ),
            'Table'[Val] = _val
                && 'Table'[Downtime_Started]
                    = CALCULATE (
                        MIN ( 'Table'[Downtime_Started] ),
                        FILTER (
                            ALLEXCEPT ( 'Table', 'Table'[Error_Type], 'Table'[Machine] ),
                            'Table'[Val] = _val
                        )
                    )
        )
    )
VAR _re2 =
    CALCULATE (
        MAX ( 'Table'[Downtime_Duration] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Error_Type], 'Table'[Machine] ),
            'Table'[Val] = _lastval
                && 'Table'[Downtime_Started]
                    = CALCULATE (
                        MIN ( 'Table'[Downtime_Started] ),
                        FILTER (
                            ALLEXCEPT ( 'Table', 'Table'[Error_Type], 'Table'[Machine] ),
                            'Table'[Val] = _lastval
                        )
                    )
        )
    )
RETURN
    IF (
        ISBLANK ( _lastval ),
        SELECTEDVALUE ( 'Table'[Downtime_Duration] ),
        IF ( _lastval = _val, _re, _re + _re2 )
    )

table result.png

Por cierto, cuando val 2, por qué la duración es 23 no 28 si calcula la datediff..

Se adjunta el archivo de ejemplo, compruebe y pruébelo: Calcular la duración del error entre 2 fechas para Machines.pbix

Mejores looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@SwathiSrinivas , tratar como

diff último final de tiempo de inactividad: datediff(maxx(filter(table, [Downtime_Started]<earlier([Downtime_Started]) && [machine]<earlier([machine])),[Downtime_Ended]),[Downtime_Ended],minute)

Anonymous
Not applicable

Hola Amit ,

Probé su solución, pero no estoy recibiendo ningún valor. La salida parece estar en blanco.

Swathi

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors