Forum Discussion
Dynamic Rolling 12
¡Hola!
Estoy tratando de crear un 12 para un número de ventas. Mi deseo es tenerlo dinámico para que un usuario pueda seleccionar un mes y realizará un cálculo de 12 continuos para cualquier año en el gráfico usando ese mes. Este es el ejemplo del diseño que tengo usando Junio como filtro de segmentación de datos.
| Mes | 6 | ||
| 2017 | 2018 | 2019 | |
| Rolling 12 | 100 | 200 | 150 |
Mi problema es que parece que mi código está cortando la parte de la 12 rodante que está en el año anterior. En este caso, la mitad de los datos se perderían. Creo que mi código debe incluir los 12 meses en el filtro de fecha, pero la columna de año var está haciendo que los datos se filtren adicionalmente para que solo se muestre el año. La variable month es de una tabla de calendario y estoy usando el origen de datos real para el año var. Mi código que estoy usando se enumera a continuación. ¿Cómo puedo obtener los 12 meses completos para permanecer en los datos?
VAR max_date
devolución
Hola, @tfeldt2020
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Calendario (una tabla calculada):
Calendar = CALENDARAUTO()Cal (una tabla calculada):
Calendar = CALENDARAUTO()Relación:
Puede crear una medida como se indica a continuación.
Result = var y = MAX('Table'[Year]) var m = MAX('Calendar'[MonthCal]) var ym = TOPN( 12, CALCULATETABLE( DISTINCT(Cal[YearMonth]), FILTER( ALL(Cal), [YearMonth]<y*100+m ) ), [YearMonth] ) var re = CALCULATE( SUM('Table'[Value]), FILTER( ALL(Cal), [YearMonth] in ym ) ) return reResultado:
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
1 Reply
- v-alq-msft
Community Support
Hola, @tfeldt2020
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Calendario (una tabla calculada):
Calendar = CALENDARAUTO()Cal (una tabla calculada):
Calendar = CALENDARAUTO()Relación:
Puede crear una medida como se indica a continuación.
Result = var y = MAX('Table'[Year]) var m = MAX('Calendar'[MonthCal]) var ym = TOPN( 12, CALCULATETABLE( DISTINCT(Cal[YearMonth]), FILTER( ALL(Cal), [YearMonth]<y*100+m ) ), [YearMonth] ) var re = CALCULATE( SUM('Table'[Value]), FILTER( ALL(Cal), [YearMonth] in ym ) ) return reResultado:
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.