Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola a todos
Tengo una tabla a continuación:
Necesito crear una columna, usando dax con avarage de los últimos 12 meses, por ejemplo:
Básicamente, la columna avg es el avarage de los últimos 12 meses.
¿Puede alguien ayudarme?
gracias
Solved! Go to Solution.
Si hay una tabla de fechas en el modelo, puede probar esta columna Calculado.
Avrage_last_12_month =
CALCULATE (
AVERAGE ( 'Table'[value] ),
DATESINPERIOD ( 'calendar'[Date], 'Table'[Date], -12, MONTH ),
FILTER ( ALL ( 'Table' ), 'Table'[Date] <= EARLIER ( 'Table'[Date] ) )
)
Si no tiene tabla de fechas, puede probar esta columna Calculado.
Avg last 12 months =
VAR day =
YEAR (
CALCULATE (
SELECTEDVALUE ( 'Table'[Date] ),
FILTER ( 'Table', 'Table'[Date] = MIN ( 'Table'[Date] ) )
)
)
VAR month_count =
IF (
'Table'[Date] >= DATE ( day, 12, 31 ),
12,
CALCULATE (
COUNT ( 'Table'[Date] ),
FILTER ( ALL ( 'Table' ), 'Table'[Date] <= EARLIER ( 'Table'[Date] ) )
)
)
VAR cur_month =
MONTH ( 'Table'[Date] )
VAR cur_year =
YEAR ( 'Table'[Date] )
VAR sum_last_12_month =
IF (
cur_month < 12,
CALCULATE (
SUM ( 'Table'[value] ),
FILTER (
ALL ( 'Table' ),
(
YEAR ( 'Table'[Date] ) = cur_year
&& MONTH ( 'Table'[Date] ) <= cur_month
)
|| (
YEAR ( 'Table'[Date] ) = cur_year - 1
&& MONTH ( 'Table'[Date] ) > cur_month
)
)
),
CALCULATE (
SUM ( 'Table'[value] ),
FILTER ( ALL ( 'Table' ), YEAR ( 'Table'[Date] ) = cur_year )
)
)
RETURN
sum_last_12_month/month_count
El resultado tiene este aspecto:
Para obtener más información, puede consultar el archivo pbix adjunto.
Saludos
Caiyun Zheng
¿Esa es la respuesta que estás buscando? Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Si hay una tabla de fechas en el modelo, puede probar esta columna Calculado.
Avrage_last_12_month =
CALCULATE (
AVERAGE ( 'Table'[value] ),
DATESINPERIOD ( 'calendar'[Date], 'Table'[Date], -12, MONTH ),
FILTER ( ALL ( 'Table' ), 'Table'[Date] <= EARLIER ( 'Table'[Date] ) )
)
Si no tiene tabla de fechas, puede probar esta columna Calculado.
Avg last 12 months =
VAR day =
YEAR (
CALCULATE (
SELECTEDVALUE ( 'Table'[Date] ),
FILTER ( 'Table', 'Table'[Date] = MIN ( 'Table'[Date] ) )
)
)
VAR month_count =
IF (
'Table'[Date] >= DATE ( day, 12, 31 ),
12,
CALCULATE (
COUNT ( 'Table'[Date] ),
FILTER ( ALL ( 'Table' ), 'Table'[Date] <= EARLIER ( 'Table'[Date] ) )
)
)
VAR cur_month =
MONTH ( 'Table'[Date] )
VAR cur_year =
YEAR ( 'Table'[Date] )
VAR sum_last_12_month =
IF (
cur_month < 12,
CALCULATE (
SUM ( 'Table'[value] ),
FILTER (
ALL ( 'Table' ),
(
YEAR ( 'Table'[Date] ) = cur_year
&& MONTH ( 'Table'[Date] ) <= cur_month
)
|| (
YEAR ( 'Table'[Date] ) = cur_year - 1
&& MONTH ( 'Table'[Date] ) > cur_month
)
)
),
CALCULATE (
SUM ( 'Table'[value] ),
FILTER ( ALL ( 'Table' ), YEAR ( 'Table'[Date] ) = cur_year )
)
)
RETURN
sum_last_12_month/month_count
El resultado tiene este aspecto:
Para obtener más información, puede consultar el archivo pbix adjunto.
Saludos
Caiyun Zheng
¿Esa es la respuesta que estás buscando? Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Echa un vistazo a este artículo de SQLBI
https://www.sqlbi.com/articles/rolling-12-months-average-in-dax/
Esto ayudaría a resolver su problema
saludos
Sayali
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros a encontrarlo más rápidamente.
gracias
Necesito crear una columna en la tabla, no medir.
Este artículo muestra la medida.