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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Adición de ACP_6 a la última fecha del EAC

Por favor, tengo una imagen de tabla que se muestra a continuación:

El EAC y ACP_6 son medidas, mientras que Period_MonthYear proviene de una tabla de fechas y está relacionada con el EAC y ACP_6 tabla de ReportingDate.

Period_MonthYear EAC ACP_6
P1 Abr-23 101,101 252,042
P2 Mayo-23 414,455 252,042
P3 Jun-23 514,455 252,042
P4 Jul-23 665,455 252,042
P5 Ago-23 754,455 252,042
P6 Sep-23 252,042
P7 Oct-23 252,042
P8 Nov-23 252,042
P9 Dic-23 252,042
P10 ene-24 252,042
P11 Feb-24 252,042
P12 Mar-24 252,042
P1 Abr-24 252,042

Lo que quiero lograr es crear una medida de pronóstico y la lógica detrás de la medida de pronóstico es agregar ACP_6 al último EAC y agregar ACP_6 al pronóstico. Esto se muestra a continuación

Period_MonthYear EAC ACP_6 Previsión
P1 Abr-23 101,101 252,042
P2 Mayo-23 414,455 252,042
P3 Jun-23 514,455 252,042
P4 Jul-23 665,455 252,042
P5 Ago-23 754,455 252,042
P6 Sep-23 252,042 1,006,497
P7 Oct-23 252,042 1,258,539
P8 Nov-23 252,042 1,510,581
P9 Dic-23 252,042 1,762,623
P10 ene-24 252,042 2,014,665
P11 Feb-24 252,042 2,266,707
P12 Mar-24 252,042 2,518,749
P1 Abr-24 252,042 2,770,791

Por ejemplo, P5 Ago-23 es el último registro de datos y EAC es 754455 y el ACP_6 es constante y es 252042, cuando agrega estas dos medidas, debe devolver 1006497 para el siguiente período P6 Sep-23 y luego seguir agregando 252042 a 1006497 para obtener 1258539 para P7 Oct-23 y así sucesivamente.
¿Cómo puedo lograr esto?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

He encontrado la respuesta, para lograr la medida de pronóstico como se describe, necesitaré crear una medida DAX que acumule el valor de ACP_6 a partir del último valor EAC conocido. Así es como puedo hacerlo paso a paso:

  1. Identificar el último valor EAC que no está en blanco: Esto me ayudará a saber por dónde empezar el cálculo de la previsión.

  2. Calcular la medida de previsión: esta medida se sumará ACP_6 de forma iterativa al último valor EAC conocido para los meses siguientes.

Así es como puedo implementarlo en DAX:

Paso 1: Identificar el último valor EAC que no está en blanco

Cree una medida para identificar el último valor de EAC que no esté en blanco y la fecha correspondiente.

LastEAC = 
CALCULATE(
    LASTNONBLANK(EAC, EAC),
    REMOVEFILTERS(Period_MonthYear)
)

Paso 2: Calcular la medida de pronóstico

Ahora, cree la medida de previsión que acumula ACP_6 a partir del último valor EAC conocido.

Forecast = 
VAR LastEACDate = 
    CALCULATE(
        MAX('Date'[Period_MonthYear]),
        FILTER(
            ALL('Date'),
            NOT(ISBLANK([EAC]))
        )
    )
VAR LastEACValue = 
    CALCULATE(
        LASTNONBLANK(EAC, EAC),
        FILTER(
            ALL('Date'),
            'Date'[Period_MonthYear] = LastEACDate
        )
    )
VAR CurrentPeriod = MAX('Date'[Period_MonthYear])
VAR PeriodOffset = DATEDIFF(LastEACDate, CurrentPeriod, MONTH)
RETURN
IF(
    PeriodOffset >= 0,
    LastEACValue + PeriodOffset * [ACP_6],
    BLANK()
)

Este es el procedimiento que seguí para darme el resultado correcto

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

He encontrado la respuesta, para lograr la medida de pronóstico como se describe, necesitaré crear una medida DAX que acumule el valor de ACP_6 a partir del último valor EAC conocido. Así es como puedo hacerlo paso a paso:

  1. Identificar el último valor EAC que no está en blanco: Esto me ayudará a saber por dónde empezar el cálculo de la previsión.

  2. Calcular la medida de previsión: esta medida se sumará ACP_6 de forma iterativa al último valor EAC conocido para los meses siguientes.

Así es como puedo implementarlo en DAX:

Paso 1: Identificar el último valor EAC que no está en blanco

Cree una medida para identificar el último valor de EAC que no esté en blanco y la fecha correspondiente.

LastEAC = 
CALCULATE(
    LASTNONBLANK(EAC, EAC),
    REMOVEFILTERS(Period_MonthYear)
)

Paso 2: Calcular la medida de pronóstico

Ahora, cree la medida de previsión que acumula ACP_6 a partir del último valor EAC conocido.

Forecast = 
VAR LastEACDate = 
    CALCULATE(
        MAX('Date'[Period_MonthYear]),
        FILTER(
            ALL('Date'),
            NOT(ISBLANK([EAC]))
        )
    )
VAR LastEACValue = 
    CALCULATE(
        LASTNONBLANK(EAC, EAC),
        FILTER(
            ALL('Date'),
            'Date'[Period_MonthYear] = LastEACDate
        )
    )
VAR CurrentPeriod = MAX('Date'[Period_MonthYear])
VAR PeriodOffset = DATEDIFF(LastEACDate, CurrentPeriod, MONTH)
RETURN
IF(
    PeriodOffset >= 0,
    LastEACValue + PeriodOffset * [ACP_6],
    BLANK()
)

Este es el procedimiento que seguí para darme el resultado correcto

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

Top Solution Authors