Medida DAX para registro de auditoría

Un usuario Pregunto ✅

toinktoink

Tengo una tabla que es casi una tabla de registro de auditoría. Un pedido solo obtiene un registro para una fecha en particular si cambia el estado del pedido. Quiero resumir el número de pedidos para cada estado por fecha. Sé cómo hacer esto a través de una tabla calculada, pero tratando de hacerlo como una medida:

tabla.PNG

Por ejemplo, el pedido ‘234’ no aparece para el 1/2/2018 porque su estado no cambió. Pero en mi medida, cuando resumo los pedidos por estado para el 1/2/2018, quiero que este pedido aparezca en el estado ‘Abierto’ porque ese fue el estado más reciente para este pedido.

¡Buscando ideas!

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@toinktoink

Aparentemente funciona con sus datos de muestra.

Consulte también el archivo adjunto.

registro.png

Hola,

por favor comparta un modelo de datos de muestra. El código no es difícil de crear, pero será lento… dicho esto, a menos que tenga decenas de millones de filas, esto no debería ser un problema.

¡Diviértete con DAX!

alberto ferrari
http://www.sqlbi.com

toinktoink

Hola tengo una tabla, casi un log de auditoria, donde solo se repiten aquellas ordenes donde se cambia el estado. Quiero tener una medida que me diga el conteo de pedidos por estado para cualquier fecha. Sé cómo hacerlo en una tabla calculada separada, pero trato de ver si puedo hacerlo como una medida:

Tenga en cuenta que el pedido ‘234’ no aparece para el 1/2/2018 porque su estado no ha cambiado. Pero cuando hago una suma de todos los estados a partir del 1/2/2018, quiero que este pedido se incluya en el conteo ‘Abierto’ ya que ese fue el estado más reciente.

Zubair_Muhammad

En respuesta a toinktoink

@toinktoink

Pruebe esta MEDIDA.

Measure =
VAR temp1 =
    SUMMARIZE (
        FILTER ( ALLSELECTED ( Table1 ), Table1[Date] <= SELECTEDVALUE ( Table1[Date] ) ),
        Table1[OrderID],
        "Last Status", CALCULATE ( VALUES ( Table1[Status] ), LASTDATE ( Table1[Date] ) )
    )
VAR mystatus =
    SELECTEDVALUE ( Table1[Status] )
RETURN
    COUNTX ( FILTER ( temp1, [Last Status] = mystatus ), [OrderID] )

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@toinktoink

Aparentemente funciona con sus datos de muestra.

Consulte también el archivo adjunto.

registro.png

Deja un comentario

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