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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
imranamikhan
Helper V
Helper V

Contar IFS por fecha más reciente

Hola

Tengo una serie de registros con duplicados. Cada registro tiene una marca de tiempo (fecha y hora) y una columna de estado.

Capture.PNG

Estoy usando la siguiente expresión DAX para contar registros por la marca de tiempo más reciente. ¿Cómo modifico esta expresión para incluir también solo los registros "Completados" en el recuento?

LatestRecord =

VAR MostRencentTime =

    CALCULATE (

        MAX ( TaskTable[RecordTimestamp]),

        ALLEXCEPT ( TaskTable, TaskTable[Task ID] )

    )

RETURN

    IF ( MostRencentTime = MAX ( TaskTable[RecordTimestamp] ), 1, 0 )

Saludos

ImranAmi

2 ACCEPTED SOLUTIONS

Hola @imranamikhan ,

No estoy seguro de cómo desea que el recuento se calcule exactamente, pero pruebe esto:

UniqueCount = 
VAR _max =
    CALCULATE (
        MAX ( TaskTable[RecordTimestamp] ),
        ALLEXCEPT ( TaskTable, TaskTable[Task ID] )
    )
RETURN
    CALCULATE (
        COUNTROWS ( TaskTable ),
        FILTER (
            ALLEXCEPT ( TaskTable, TaskTable[Task ID] ),
            TaskTable[Status] = "Completed"
                && TaskTable[RecordTimestamp] = _max
        )
    )










Did I answer your question? Mark my post as a solution!


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

View solution in original post

@imranamikhan

Prueba esto:

Solution =
VAR MaxDate =
    MAX ( TaskTable[RecordTimestamp] )
VAR _STATUS =
    FILTER (
        TaskTable,
        TaskTable[Status] = "Completed"
            && TaskTable[RecordTimestamp] = MaxDate
    )
VAR _Count =
    COUNTROWS ( _STATUS )
RETURN
    _Count

¡Salud!
Vivek

Si ayuda, por favor márquelo como una solución
Los felicitaciones serían una cereza en la parte superior 🙂

https://www.vivran.in/

Conectar se conecta en LinkedIn

View solution in original post

13 REPLIES 13
v-frfei-msft
Community Support
Community Support

Hola @imranamikhan ,

¿Eso cumple con su requisito?

LatestRecord = 
VAR MostRencentTime =
    CALCULATE (
        MAX ( TaskTable[RecordTimestamp] ),
        ALLEXCEPT ( TaskTable, TaskTable[Task ID] )
    )
VAR a =
    IF (
        MostRencentTime = MAX ( TaskTable[RecordTimestamp] )
            && MAX ( TaskTable[Statue] ) = "Completed",
        1,
        0
    )
RETURN
    a
LatestRecord—1 = 
SUMX(TaskTable,[LatestRecord])

Capture.PNG

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Gracias @danextian. Estoy trabajando con un conjunto de datos push, así que estoy limitado a usar solo medidas. El DAX sugerido solo devuelve una fecha, no un recuento.

Gracias de nuevo @v-frfei-msft. Lamentablemente, la medida sugerida está produciendo resultados incorrectos. He adjuntado mi archivo de trabajo a través de OneDrive aquí:

https://1drv.ms/u/s!AkH_PeScw-iuhpd6-3DAVBy805z36A?e=gyY196

¿Podrías echar un vistazo cuando tengas un momento?

Hola @imranamikhan ,

No estoy seguro de cómo desea que el recuento se calcule exactamente, pero pruebe esto:

UniqueCount = 
VAR _max =
    CALCULATE (
        MAX ( TaskTable[RecordTimestamp] ),
        ALLEXCEPT ( TaskTable, TaskTable[Task ID] )
    )
RETURN
    CALCULATE (
        COUNTROWS ( TaskTable ),
        FILTER (
            ALLEXCEPT ( TaskTable, TaskTable[Task ID] ),
            TaskTable[Status] = "Completed"
                && TaskTable[RecordTimestamp] = _max
        )
    )










Did I answer your question? Mark my post as a solution!


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

Disculpas esto funcionó - el error fue mi parte. Muchas gracias.

Hola @danextian Gracias por su ayuda. Supongo que no estoy siendo claro sobre el requisito porque la solución está produciendo el mismo valor incorrecto que la medida proporcionada amablemente por @v-frfei-msft

Tengo un conjunto de datos. La columna A contiene una lista de entradas únicas (ID de tarea), la columna B contiene un valor de estado y la columna C contiene una marca de tiempo. Cuando se actualizan los datos, se anexan nuevas entradas a los datos existentes con los mismos datos pero con un estado actualizado. Quiero contar el número de apariciones de un estado específico (como "Completado") por el último registro. Es fácil hacer esto en Excel, por ejemplo, cuenta el número de entradas basadas en el último filtro de sello de tiempo y que cuentan por un estado de "Completado".

E.g.

•COUNTIFS(columna B,MAX(columna b),(columna c),"Completado")

En el ejemplo siguiente, 23/03/2020 09:12 es la última fecha de actualización. Así que quiero contar el número de entradas con esa fecha Y ajustar el resultado por un estado de "Completado". El archivo de ejemplo de OneDrive incluye la hoja de cálculo siguiente. ¿Esto se aclara?

Capture.PNG

Saludos

ImranAmi

Hola - si alguien tiene alguna posible solución que sería apreciado.

Saludos

ImranAmi

@imranamikhan

Prueba esto:

Solution =
VAR MaxDate =
    MAX ( TaskTable[RecordTimestamp] )
VAR _STATUS =
    FILTER (
        TaskTable,
        TaskTable[Status] = "Completed"
            && TaskTable[RecordTimestamp] = MaxDate
    )
VAR _Count =
    COUNTROWS ( _STATUS )
RETURN
    _Count

¡Salud!
Vivek

Si ayuda, por favor márquelo como una solución
Los felicitaciones serían una cereza en la parte superior 🙂

https://www.vivran.in/

Conectar se conecta en LinkedIn

Muchas gracias

@imranamikhan

Prueba esto:

Solution =
VAR _STATUS =
    FILTER ( TaskTable, TaskTable[Status] = "Completed" )
RETURN
    CALCULATE (
        COUNTROWS ( _STATUS ),
        FILTER (
            _STATUS,
            TaskTable[RecordTimestamp] = MAX ( TaskTable[RecordTimestamp] )
        )
    )

¡Salud!
Vivek

Si ayuda, por favor márquelo como una solución
Los felicitaciones serían una cereza en la parte superior 🙂

https://www.vivran.in/

Conectar se conecta en LinkedIn

v-frfei-msft
Community Support
Community Support

Hola @imranamikhan ,

Inténtalo, por favor.

LatestRecord =
VAR MostRencentTime =
    CALCULATE (
        MAX ( TaskTable[RecordTimestamp] ),
        FILTER (
            ALLEXCEPT ( TaskTable, TaskTable[Task ID] ),
            TaskTable[Status] = "Completed"
        )
    )
RETURN
    IF ( MostRencentTime = MAX ( TaskTable[RecordTimestamp] ), 1, 0 )

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Gracias @v-frfei-msft y @vivran22.

He probado ambas opciones, pero ambos devuelven un valor de 1, mientras que lo que estoy buscando es un recuento de registros con un estado "Completado" por la marca de tiempo más reciente. Si pudiera traducir el DAX en una fórmula de Excel, se vería así:

•COUNTIFS(
Table_TaskList[RecordTimestamp],
MAX(Table_TaskList[RecordTimestamp]),
Table_TaskList[ProcessStatus],"Completado"
)

Hola @imranamikhan ,

¿Ha intentado utilizar la fórmula de @v-frfei-msft y @vivran22 en una columna calculada y luego usar el resultado para su recuento? Si va a utilizar una medida, la fórmula debe ser algo como a continuación:

Count =
CALCULATE (
        MAX ( TaskTable[RecordTimestamp] ),
        FILTER (
            ALLEXCEPT ( TaskTable, TaskTable[Task ID] ),
            TaskTable[Status] = "Completed"
        )
    )










Did I answer your question? Mark my post as a solution!


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.
vivran22
Community Champion
Community Champion

Hola @imranamikhan

Puede intentar:

LatestRecord =

VAR MostRencentTime =

    CALCULATE (

        MAX ( TaskTable[RecordTimestamp]),

        ALLEXCEPT ( TaskTable, TaskTable[Task ID] ),
        KEEPFILTERS(TaskTable[Status] = "Completed"

    )

RETURN

    IF ( MostRencentTime = MAX ( TaskTable[RecordTimestamp] ), 1, 0 

¡Salud!
Vivek

Si ayuda, por favor márquelo como una solución
Los felicitaciones serían una cereza en la parte superior 🙂

https://www.vivran.in/

Conectar se conecta en LinkedIn

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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