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

PROMEDIO DE 5 AÑOS

Hola

Espero que soemone pueda ayudar.

Tengo que claulcar un promedio anterior de 5 años basado en la fecha máxima seleted en la cortadora de fechas, es decir,

Si la fecha máxima seleccionada en la segmentación de datos es 05/06/2021, entonces necesito un promedio basado en montlhy para el último 5 año, es decir, 2016 a 2020.

He calculado que ya y sólo funciona bien cuando se selecciona filtro de datos de 2016 a 2021 y me da 2016 a 2020 avg.

Pero si se selecciona la fecha en las segmentaciones de datos de 2020 a 2021. Entonces sólo da un promedio de 1 año.

Mi eje de visualización es "Mes". No puedo seleccionar la opción "Antes" en la segmentación de datos.



5Yrs Avg =
var MaxDate = CALCULATE(DATE(YEAR('DATE'[Date]))-1,12,31),ALLSELECTED('Date'))
var Mindate = FECHA (AÑO (MaxDate)-4,1,1)

devolución
CALCULATE(divide([sum],count('Date'[Date]) ,FILTER('Date','Date'[Date]>=[Mindate]&&'Date'[Date]<=[MaxDate]),VALUES('Date'[Unique Month Number]))



La razón por la que no he uso la fórmula Averagex porque algunas de las fechas no tienen ningún dato y necesito dividir la suma en un mes por número de días.

¡Cualquier ayuda será muy apreciada!


1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @ub2811,

Lo siento por mi respuesta tardía.

Aquí está mi demostración que puedes comprobar.

1.Cree una tabla de calendario.

10.png

2.Cree una medida.

5 YEAR AVERAGE = 
VAR A1 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 1 )
    )
VAR A2 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 2 )
    )
VAR A3 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 3 )
    )
VAR A4 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 4 )
    )
VAR A5 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 5 )
    )
VAR BB =
    CALCULATE (
        MAX ( 'Calendar'[Days] ),
        FILTER (
            'Calendar',
            YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] )
                && [Month] = MONTH ( MAX ( 'Date'[Date] ) )
        )
    )
RETURN
    DIVIDE (
        DIVIDE ( A1, BB ) + DIVIDE ( A2, BB )
            + DIVIDE ( A3, BB )
            + DIVIDE ( A4, BB )
            + DIVIDE ( A5, BB ),
        5
    )

12.png

Saludos

Stephen Tao

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

No @ub2811,

Lo siento por mi respuesta tardía.

Aquí está mi demostración que puedes comprobar.

1.Cree una tabla de calendario.

10.png

2.Cree una medida.

5 YEAR AVERAGE = 
VAR A1 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 1 )
    )
VAR A2 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 2 )
    )
VAR A3 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 3 )
    )
VAR A4 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 4 )
    )
VAR A5 =
    CALCULATE (
        SUM ( 'Date'[Unique Month Number] ),
        FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 5 )
    )
VAR BB =
    CALCULATE (
        MAX ( 'Calendar'[Days] ),
        FILTER (
            'Calendar',
            YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] )
                && [Month] = MONTH ( MAX ( 'Date'[Date] ) )
        )
    )
RETURN
    DIVIDE (
        DIVIDE ( A1, BB ) + DIVIDE ( A2, BB )
            + DIVIDE ( A3, BB )
            + DIVIDE ( A4, BB )
            + DIVIDE ( A5, BB ),
        5
    )

12.png

Saludos

Stephen Tao

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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.