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 | SÍ |
14/03/2019 | Lesión | NO |
12/04/2019 | Golpe cercano | NO |
25/04/2019 |
Lesión | SÍ |
¡Gracias de antemano!
V-pazhen-msft
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.
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 )
)
V-pazhen-msft
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 |
V-pazhen-msft
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.
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!