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

Try your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now

Reply
Syndicate_Admin
Administrator
Administrator

Una nueva medida que calcula el promedio móvil por centro de costo

Tengo la siguiente tabla:

OmiElhay_0-1674834092270.png

Quiero calcular el promedio móvil mensual de Column Direct by CC. Entonces, por ejemplo, el resultado debería ser el siguiente si se seleccionan el mes de enero y febrero:

OmiElhay_1-1674834182781.png

Lo que hice para obtener este resultado es crear primero una nueva tabla con la siguiente fórmula:

OmiElhay_2-1674834231082.png

Lo que resultó en:

OmiElhay_3-1674834279444.png

Luego creé una nueva medida en esta nueva tabla con la siguiente fórmula:

OmiElhay_4-1674834308588.png

Ahora estoy tratando de obtener los mismos resultados usando una medida en la tabla original. Sin tener que crear la nueva tabla resumida.

Gracias

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola

Para calcular la media móvil, ¿por qué ha tomado el denominador como 2 para cada CC? Además, esto es solo un promedio simple. ¿Por qué lo llamas promedio móvil?

Syndicate_Admin
Administrator
Administrator

Hi , @OmiElhay

De acuerdo con su descripción, desea "Una nueva medida que calcula el promedio móvil por centro de costo".

Estos son los pasos que puede consultar:
(1) Mis datos de prueba son los mismos que los tuyos.

(2) Creo una tabla de fechas como esta:

Date = ADDCOLUMNS( CALENDAR( FIRSTDATE('Table'[Date]) ,LASTDATE('Table'[Date])) , "Year_month" , YEAR([Date])*100+MONTH([Date]))

vyueyunzhmsft_0-1675048327858.png

(2) Podemos crear dos medidas:

Direct Sum = SUMX('Table','Table'[Direct])
Direct Rolling Average = var _t =ADDCOLUMNS(CROSSJOIN( VALUES('Table'[CC]) ,VALUES('Date'[Year_month])) , "direct" , CALCULATE(SUM('Table'[Direct])))
return
AVERAGEX(_t , [direct])

(3) Luego podemos poner los campos que necesitamos en el visual y podemos satisfacer su necesidad:

vyueyunzhmsft_1-1675048380374.png

Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

Saludos

Dijo Zhang

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

Syndicate_Admin
Administrator
Administrator

Tal vez esto podría ayudar:

Media móvil por CC =
CALCULAR(
PROMEDIO(datos[Columna directa]),
FILTRO(
ALL(datos),
datos[mes] >= MAX(datos[mes]) - 1
),
GROUPBY(datos, datos[CC], "Media móvil por CC")
)

Syndicate_Admin
Administrator
Administrator

Hola @OmiElhay ,

Tal vez STH como el siguiente puede ser útil:

Monthly_Rolling_Avg =
VAR sum_period = CALCULATE(SUM(table[DirectSum]), DATESINPERIOD(Table[Date]), LASTDATE[Table[Date]), 1, MONTH))
VAR month_in_period = CALCULATE(DISTINCTCOUNT(Table[Date]), DATESINPERIOD[Table[Date], LASTDATE(Table[Date]), 1, MONTH))
RETURN
sum_period / month_in_period

Alternativamente, el tipo de nueva función WINDOW(), podría ser útil.
Supongo que hay formas más eficientes, pero con suerte, esto está funcionando para usted.

Gracias por su respuesta. Pero la fórmula no resume también por centro de costos.

Syndicate_Admin
Administrator
Administrator

Gracias por compartir @gre2,

La fórmula tampoco resume por centro de costo. Que es la lucha principal para mí.

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors