Conteo de días desde el último incidente de OSHA

Un usuario Pregunto ✅

Anónimo

Hola,

Estoy perplejo. Necesito ayuda para crear un conteo de días entre eventos registrables «Sí» y un conteo de días desde nuestro registro OSHA «Sí» más reciente.

Fecha del incidente Tipo de incidente OSHA registrable
20/01/2019 Lesión
14/03/2019 Lesión NO
12/04/2019 Golpe cercano NO

25/04/2019

Lesión

¡Gracias de antemano!

En respuesta a Anónimo

@Anónimo

En este caso, le sugiero que cree una columna en lugar de una medida. Vea mi muestra a continuación, espero que tenga sentido para usted.

columna cuenta los días desde el último yes.JPG

count since last yes =
IF (
    Sheet6[OSHA Recordable] = "Yes",
    DATEDIFF (
        CALCULATE (
            MAX ( [Date of Incident] ),
            FILTER ( Sheet6, [Date of Incident] < EARLIER ( Sheet6[Date of Incident] ) ),
            FILTER ( Sheet6, [OSHA Recordable] = "Yes" )
        ),
        [Date of Incident],
        DAY
    ),
    BLANK ()
)

Mejor,
Paul

Nathaniel_C

Hola @Anónimo,
Prueba esto:

Hazme saber si tienes alguna pregunta.

Si esto resuelve sus problemas, márquelo como el solución, para que otros puedan encontrarlo fácilmente. Prestigio 👍son agradables también.
nataniel

Date Diff =
VAR _currDate =
    MAX ( injTable[Date of Incident] )
VAR _pastDate =
    CALCULATE (
        MAX ( injTable[Date of Incident] ),
        ALLEXCEPT ( injTable, injTable[OSHA Recordable] ),
        injTable[Date of Incident] < _currDate
    )
RETURN
    IF (
        MAX ( injTable[OSHA Recordable] ) = "YES",
        DATEDIFF ( _pastDate, _currDate, DAY )
    )

osha.PNG

Hola,

Supuse que sus datos tienen más que solo las 4 filas. Básicamente usas la función DATEDIFF:

1. Contar los días entre el último sí y el penúltimo sí

1. Count days between the last yes and the second last yes 
Countdays between two Yes = 
var Lastyes = CALCULATE(LASTDATE(Sheet5[Date of Incident]),
                    FILTER(Sheet5,[OSHA Recordable]="YES"))

var Seclastyes = CALCULATE(LASTDATE(Sheet5[Date of Incident]),
                    FILTER(Sheet5,[Date of Incident]<Lastyes),
                        FILTER(Sheet5,[OSHA Recordable]="YES"))

Return DATEDIFF(Seclastyes,Lastyes,DAY)

2. Cuente los días entre el último sí y ahora.

Countdays since recent yes = 
var Lastyes = CALCULATE(LASTDATE(Sheet5[Date of Incident]),
                 FILTER(Sheet5,[OSHA Recordable]="YES"))

Return DATEDIFF([01Lastyes],NOW(),DAY)

Existe el pbix si es necesario.

https://qiuyunus-my.sharepoint.com/:u:/g/personal/paul_qiuyunus_onmicrosoft_com/ERdc7wQicIhEr9oL-2i5…

Mejor,
Paul

Anónimo

En respuesta a V-pazhen-msft

Hola Pablo,

¡Muchas gracias por esto! Cuando conecté estos en «countdays between two yes», solo me da la cantidad de días entre los dos últimos registrables de OSHA del mes. ¿Cómo podría expandir este DAX para contar todos los días entre cada sí? Nuevamente, ¡gracias @V-pazhen-msft!

2018 Recuento de registros de OSHA Countdays between two Sí
marcha 3 7
1 1
22 1
29 1
abril 2 11
12 1
23 1

En respuesta a Anónimo

@Anónimo

En este caso, le sugiero que cree una columna en lugar de una medida. Vea mi muestra a continuación, espero que tenga sentido para usted.

columna cuenta los días desde el último yes.JPG

count since last yes =
IF (
    Sheet6[OSHA Recordable] = "Yes",
    DATEDIFF (
        CALCULATE (
            MAX ( [Date of Incident] ),
            FILTER ( Sheet6, [Date of Incident] < EARLIER ( Sheet6[Date of Incident] ) ),
            FILTER ( Sheet6, [OSHA Recordable] = "Yes" )
        ),
        [Date of Incident],
        DAY
    ),
    BLANK ()
)

Mejor,
Paul

Anónimo

En respuesta a V-pazhen-msft

Impresionante esto es genial, muchas gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *