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
Syndicate_Admin
Administrator
Administrator

Cambios en la fecha MoM

Hola

Tengo un conjunto de proyectos donde el estado del proyecto y las fechas clave se informan cada mes. Estoy tratando de escribir una medida que muestre rápidamente los proyectos que han tenido cambios de fecha entre el último período de informe del mes y el anterior. En el siguiente ejemplo, el proyecto A ha tenido un cambio en la fecha de construcción que se mueve de agosto a septiembre y el proyecto C ha tenido un cambio en la fecha de puesta en marcha.

¿Tendré que escribir una medida para cada fecha que me interese? También estoy interesado en que esto pueda ser lo más dinámico posible para que cuando se agregue un nuevo mes, la medida aún compare el último mes de informe con el mes anterior.

¡Gracias de antemano!

ProyectoSalidaFecha de inicio de la construcciónFecha de puesta en marchaPeríodo
A5001/01/202301/06/2023Ago-21
B2501/04/202307/04/2023Ago-21
C5001/05/202301/07/2023Ago-21
A5001/02/202301/06/2023sep-21
B2501/04/202307/04/2023sep-21
C5001/05/202301/06/2023sep-21
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @GJUDGE,

Dependiendo de cómo estés haciendo el filtro del mes pero en este caso he añadido una tabla desconectada para el filtrado del mes de reporte e hice la siguiente medida:

Has Changes = 
IF (
    COUNTROWS (
        SUMMARIZE (
            FILTER (
                'Table',
                'Table'[Reporting Period] <= MAX ( 'Calendar'[Date] )
                    && 'Table'[Reporting Period]
                        >= DATE ( YEAR ( MIN ( 'Calendar'[Date] ) - 1 ), MONTH ( MIN ( 'Calendar'[Date] ) - 1 ), 1 )
            ),
            'Table'[Project],
            'Table'[Commissioning Date],
            'Table'[Construction Start Date]
        )
    ) > 1,
    "Project has changes"
)

Resultado final a continuación

MFelix_0-1634807506744.png

Verifique el archivo PBIX adjunto.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No @GJUDGE,

Me estaba quedando con el tema y puedes usar esta medida para reflejar lo que está cambiando en una sola medida:

Has Date Changes = 
VAR TEmpTable =
    SUMMARIZE (
        FILTER (
            'Table',
            'Table'[Reporting Period] <= MAX ( 'Calendar'[Date] )
                && 'Table'[Reporting Period]
                    >= DATE ( YEAR ( MIN ( 'Calendar'[Date] ) - 1 ), MONTH ( MIN ( 'Calendar'[Date] ) - 1 ), 1 )
        ),
        'Table'[Project],
        "Commissioning", DISTINCTCOUNT ( 'Table'[Commissioning Date] ),
        "Starting Date", DISTINCTCOUNT ( 'Table'[Construction Start Date] )
    )
VAR Comissiningdate =
    IF (
        COUNTROWS ( FILTER ( TEmpTable, [Commissioning] > 1 ) ) > 0,
        "Change in commission date"
    )
VAR StartDate =
    IF (
        COUNTROWS ( FILTER ( TEmpTable, [Starting Date] > 1 ) ) > 0,
        "Change in Starting date"
    )
RETURN
    Comissiningdate
        & IF (
            OR ( ISBLANK ( Comissiningdate ), ISBLANK ( StartDate ) ),
            BLANK (),
            " | "
        ) & StartDate

MFelix_0-1634890259072.png

Syndicate_Admin
Administrator
Administrator

Hola, GJUDGE

Puede probar los siguientes métodos:

  1. Escribí dos medidas para estas dos fechas. Tenga en cuenta que los cambios de CSD representan los cambios en la fecha de inicio de la construcción y los cambios en el CD representan los cambios en la fecha de puesta en marcha.
CSD changes =
IF (
    CALCULATE (
        MIN ( 'Table'[Construction Start Date] ),
        FILTER (
            ALLSELECTED ( 'Table' ),
            'Table'[Project] = SELECTEDVALUE ( 'Table'[Project] )
        )
    )
        = SELECTEDVALUE ( 'Table'[Construction Start Date] ),
    BLANK (),
    SELECTEDVALUE ( 'Table'[Project] )
)
CD changes =
IF (
    CALCULATE (
        MIN ( 'Table'[Commissioning Date] ),
        FILTER (
            ALLSELECTED ( 'Table' ),
            'Table'[Project] = SELECTEDVALUE ( 'Table'[Project] )
        )
    )
        = SELECTEDVALUE ( 'Table'[Commissioning Date] ),
    BLANK (),
    SELECTEDVALUE ( 'Table'[Project] )
)

2.Los resultados de las dos medidas se muestran en la figura:

vzhangti_0-1634869211885.png

Saludos

Carlota Zhang

Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

No @GJUDGE,

Dependiendo de cómo estés haciendo el filtro del mes pero en este caso he añadido una tabla desconectada para el filtrado del mes de reporte e hice la siguiente medida:

Has Changes = 
IF (
    COUNTROWS (
        SUMMARIZE (
            FILTER (
                'Table',
                'Table'[Reporting Period] <= MAX ( 'Calendar'[Date] )
                    && 'Table'[Reporting Period]
                        >= DATE ( YEAR ( MIN ( 'Calendar'[Date] ) - 1 ), MONTH ( MIN ( 'Calendar'[Date] ) - 1 ), 1 )
            ),
            'Table'[Project],
            'Table'[Commissioning Date],
            'Table'[Construction Start Date]
        )
    ) > 1,
    "Project has changes"
)

Resultado final a continuación

MFelix_0-1634807506744.png

Verifique el archivo PBIX adjunto.

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.