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.
Hola
Tengo una tabla con fechas, identificadores de miembro y valores métricos. No todas las fechas tienen valores para un miembro determinado, algunas fechas tienen varias entradas para un miembro determinado. Necesito obtener el promedio de los promedios mensuales de los 3 meses anteriores y mostrar como se muestra a continuación bajo promedio de 3 meses promedio de métrica y mostrar esto de forma continua para cada mes. ¿Hay alguna manera de hacer esto?
Datos de origen | ||||
fecha | miembro | métrico | ||
12/4/2021 | B | 20 | ||
12/5/2021 | C | 10 | ||
1/18/2021 | B | 30 | ||
1/19/2021 | C | 10 | ||
1/20/2021 | B | 20 | ||
1/20/2021 | C | 40 | ||
1/21/2021 | B | 20 | ||
2/26/2021 | B | 20 | ||
2/26/2021 | B | 30 | ||
2/27/2021 | C | 40 | ||
2/28/2021 | B | 30 | ||
3/1/2021 | B | 10 | ||
3/1/2021 | C | 20 | ||
3/3/2021 | B | 30 | ||
3/3/2021 | C | 10 | ||
3/4/2021 | C | 10 | ||
Salida deseada de la tabla visual | ||||
mes | año | miembro | Promedio de métrica | Promedio de los 3 meses anteriores promedio de métrica |
12 | 2021 | B | 20.0 | |
12 | 2021 | C | 10.0 | |
1 | 2021 | B | 23.3 | |
1 | 2021 | C | 25.0 | |
2 | 2021 | B | 26.7 | |
2 | 2021 | C | 40.0 | |
3 | 2021 | B | 20.0 | 23.3 (=promedio(26.7, 23.3,20.0) |
3 | 2021 | C | 13.3 | 25.0 = (promedio(40.0, 25.0,10.0) |
gracias
Solved! Go to Solution.
Allí, @sford
Trato de obtener el resultado a través de una tabla de cálculo y una columna de cálculo.
muestra:
Calcular tabla:
Desired output =
SUMMARIZE (
'Table',
[Month],
[Year],
[Member],
"Average of Metric", AVERAGE ( 'Table'[Metric] )
)
Calcular colomn
Average Of Previous 3 Months Average Of Metric =
VAR _previous3month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -3 )
VAR _previous3monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous3month
&& [Date] >= DATE ( YEAR ( _previous3month ), MONTH ( _previous3month ), 1 )
),
[Metric]
)
VAR _previous2month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -2 )
VAR _previous2monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous2month
&& [Date] >= DATE ( YEAR ( _previous2month ), MONTH ( _previous2month ), 1 )
),
[Metric]
)
VAR _previous1month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -1 )
VAR _previous1monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous1month
&& [Date] >= DATE ( YEAR ( _previous1month ), MONTH ( _previous1month ), 1 )
),
[Metric]
)
VAR _value =
DIVIDE (
_previous1monthaverage + _previous2monthaverage + _previous3monthaverage,
3
)
RETURN
IF ( _previous3monthaverage = 0, BLANK (), _value )
resultado:
Consulte el archivo adjunto a continuación para obtener más información
¿Es este el resultado que quieres? Espero que esto sea útil para ti
Por favor, no dude en avisarme Si tiene más preguntas
Saludos
Equipo de Apoyo a la Comunidad _ Zeon Zheng
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Allí, @sford
Trato de obtener el resultado a través de una tabla de cálculo y una columna de cálculo.
muestra:
Calcular tabla:
Desired output =
SUMMARIZE (
'Table',
[Month],
[Year],
[Member],
"Average of Metric", AVERAGE ( 'Table'[Metric] )
)
Calcular colomn
Average Of Previous 3 Months Average Of Metric =
VAR _previous3month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -3 )
VAR _previous3monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous3month
&& [Date] >= DATE ( YEAR ( _previous3month ), MONTH ( _previous3month ), 1 )
),
[Metric]
)
VAR _previous2month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -2 )
VAR _previous2monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous2month
&& [Date] >= DATE ( YEAR ( _previous2month ), MONTH ( _previous2month ), 1 )
),
[Metric]
)
VAR _previous1month =
EOMONTH ( DATE ( [Year], [Month], 1 ), -1 )
VAR _previous1monthaverage =
AVERAGEX (
FILTER (
'Table',
[Member] = EARLIER ( [Member] )
&& [Date] <= _previous1month
&& [Date] >= DATE ( YEAR ( _previous1month ), MONTH ( _previous1month ), 1 )
),
[Metric]
)
VAR _value =
DIVIDE (
_previous1monthaverage + _previous2monthaverage + _previous3monthaverage,
3
)
RETURN
IF ( _previous3monthaverage = 0, BLANK (), _value )
resultado:
Consulte el archivo adjunto a continuación para obtener más información
¿Es este el resultado que quieres? Espero que esto sea útil para ti
Por favor, no dude en avisarme Si tiene más preguntas
Saludos
Equipo de Apoyo a la Comunidad _ Zeon Zheng
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Funciona muy bien. Gracias.
@sford, con la ayuda de una tabla de fechas una nueva medida como
Rolling 3 = CALCULATE(Average(Table[Metric]),DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-3,MONTH))
Gracias por la respuesta rápida. Con esa fórmula estoy obteniendo los mismos números que los promedios mensuales en lugar del promedio de los 3 promedios mensuales anteriores. También necesitaría que la fecha de inicio fuera de 3 meses antes y la fecha de finalización para ser el mes anterior. Cualquier ayuda es apreciada.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |