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
nekalycam
Frequent Visitor

Dax fórmula para hacer referencia a la fecha del último evento, incluso si la fecha más reciente no está en la semana seleccionada

Pensé que sería una tarea trivial, pero estoy perplejo. Tengo dos tablas con las que estoy trabajando: una que tiene filas de incidentes de seguridad (oSHA registrables, primeros auxilios, etc.) y una dimensión de fecha. El informe que estoy diseñando será semanal, lo que significa que el usuario selecciona una fecha de finalización de la semana y el informe muestra los datos "a partir de" esa semana (por lo que podría ser una semana en el pasado). Necesito una fórmula DAX que extraiga la última fecha en que se registró un evento de primeros auxilios y luego mostrar cuántos días ha pasado desde ese incidente. El problema que estoy teniendo es que los incidentes de primeros auxilios don't suceden cada semana, de modo que quiero tirar de la última fecha de primeros auxilios, incluso si no sucedió en la semana que se selecciona.


Ejemplo:
La semana termina5/9/2020, hubo un evento de primeros auxilios el 5/7/2020. Esto significa que cuando el usuario selecciona 5/9/2020 Quiero mostrar el número "2" ya que ha habido dos días desde el último evento de primeros auxilios. Sin embargo, cuando se selecciona la semana que termina 5/16/2020, no hubo eventos de primeros auxilios, por lo que solo extrae un valor en blanco. Quiero tirar de ese evento 5/7/2020 y mostrar que han pasado 9 días desde el último evento.

Así es como se ve mi fórmula DAX actual:

Last First Aid á CALCULATE(LASTDATE('Safety Data'[Date]), FILTER('Safety Data', 'Safety Data'[Claim Type] ? "First Aid"), FILTER(ALL(DimDate), DimDate[End of Week] <- MAX(DimDate[End of Week])))

Cualquier consejo muy apreciado, gracias de antemano.
1 ACCEPTED SOLUTION
v-shex-msft
Community Support
Community Support

HI @nekalycam,

Puede sabusar de la siguiente fórmula de Mesure si esto cumple con sus requisitos:

Measure =
VAR currDate =
    MAX ( Calendar[Date] )
VAR lastEvent =
    CALCULATE (
        MAX ( 'safety incidents'[Date] ),
        FILTER ( ALLSELECTED ( 'safety incidents' ), [Date] < curDate )
    )
RETURN
    DATEDIFF ( curDate, lastEvent, DAY )

Si por encima no ayuda, por favor comparta algunos datos ficticios y los resultados esperados para probar.

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

2 REPLIES 2
v-shex-msft
Community Support
Community Support

HI @nekalycam,

Puede sabusar de la siguiente fórmula de Mesure si esto cumple con sus requisitos:

Measure =
VAR currDate =
    MAX ( Calendar[Date] )
VAR lastEvent =
    CALCULATE (
        MAX ( 'safety incidents'[Date] ),
        FILTER ( ALLSELECTED ( 'safety incidents' ), [Date] < curDate )
    )
RETURN
    DATEDIFF ( curDate, lastEvent, DAY )

Si por encima no ayuda, por favor comparta algunos datos ficticios y los resultados esperados para probar.

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
parry2k
Super User
Super User

@nekalycam He hecho una solución a uno de mis clientes con el mismo requisito, buscando durante días desde el último incidente reportado.

No está seguro de cómo se estructuran las tablas, si comparte datos de ejemplo, será mucho más fácil. básicamente primero averiguar último incidente grabable, significa eliminar todo el filtro en su mesa

Last Incident = CALCULATE ( MAX ( Table[LastIncidentDate] ), ALL ( Table ) )

y utilice esta medida de fecha en su cálculo para obtener el número de días, pero si proporciona datos de muestra, será fácil armar una solución.

Me gustaría elogiossi mi solución me ayudó.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para darle a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

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