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

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.

Reply
itsmebvk
Continued Contributor
Continued Contributor

Cómo crear Rolling 6 meses con la columna YYYYM ?

Hola amigos, necesito ayuda en crating DAX para rodar 6 meses sin fecha columna.

Mi año fiscal comienza el 1er domingo de cada agosto, no tengo columna de fecha en las tablas, pero tengo la columna YYYYP disponible en la tabla Fecha y Categoría. Usando YYYYP podemos crear Rolling 6 meses de medida?

Nota: Traté de usar DATEYTD, TOTALYTD pero no puedo obtener la salida deseada ya que mi fecha de inicio del año fiscal no es constante en comienza el 1er domingo de cada agosto.

¿Por favor, sugiera alguna tarea para obtener datos de 6 meses?

Gracias en adavance.

Año fiscalMes fiscalYYYYMIngresos
2020120201100
2020220202200
2020320203300
2020420204400
2020520205500
2020620206600
2020720207700
2020820208800
2020920209900
202010202101000
202011202111100
202012202121200
202013202131300
20211202111400
20212202121500
20213202131600
20214202141700
20215202151800

Tabla de categorías

CategoríaIngresosFiscalMes fiscalYYYYM
A120020201220212
A130020201320213
A14002021120211
A15002021220212
A16002021320213
A17002021420214
A18002021520215
B100020201220212
B110020201320213
B12002021120211
B17002021220212
B18002021320213
B'14002021420214
B20002021520215
1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @itsmebvamsi

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

b1.png

Categoría:

b2.png

Puede crear medidas como se indica a continuación.

6 months roll total = 
CALCULATE(
    SUM('Table'[Revenue]),
    FILTER(
        ALL('Table'),
        'Table'[YearMonth] in 
        TOPN(
            6,
            CALCULATETABLE(
                DISTINCT('Table'[YearMonth]),
                FILTER(
                   ALL('Table'),
                   'Table'[YearMonth]<=SELECTEDVALUE('Table'[YearMonth])
                )
            ),
            [YearMonth]
        )
    )
)

6 months roll total category = 
CALCULATE(
    SUM('Category'[Revenue]),
    FILTER(
        ALL('Category'),
        Category[Category]=SELECTEDVALUE(Category[Category])&&
        'Category'[YearMonth] in 
        TOPN(
            6,
            CALCULATETABLE(
                DISTINCT('Category'[YearMonth]),
                FILTER(
                   ALL('Category'),
                   Category[Category]=SELECTEDVALUE(Category[Category])&&
                   'Category'[YearMonth]<=SELECTEDVALUE('Category'[YearMonth])
                )
            ),
            [YearMonth]
        )
    )
)

Resultado:

b3.png

Saludos

Allan

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

View solution in original post

4 REPLIES 4
v-alq-msft
Community Support
Community Support

Hola, @itsmebvamsi

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

b1.png

Categoría:

b2.png

Puede crear medidas como se indica a continuación.

6 months roll total = 
CALCULATE(
    SUM('Table'[Revenue]),
    FILTER(
        ALL('Table'),
        'Table'[YearMonth] in 
        TOPN(
            6,
            CALCULATETABLE(
                DISTINCT('Table'[YearMonth]),
                FILTER(
                   ALL('Table'),
                   'Table'[YearMonth]<=SELECTEDVALUE('Table'[YearMonth])
                )
            ),
            [YearMonth]
        )
    )
)

6 months roll total category = 
CALCULATE(
    SUM('Category'[Revenue]),
    FILTER(
        ALL('Category'),
        Category[Category]=SELECTEDVALUE(Category[Category])&&
        'Category'[YearMonth] in 
        TOPN(
            6,
            CALCULATETABLE(
                DISTINCT('Category'[YearMonth]),
                FILTER(
                   ALL('Category'),
                   Category[Category]=SELECTEDVALUE(Category[Category])&&
                   'Category'[YearMonth]<=SELECTEDVALUE('Category'[YearMonth])
                )
            ),
            [YearMonth]
        )
    )
)

Resultado:

b3.png

Saludos

Allan

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

amitchandak
Super User
Super User

@itsmebvamsi , Crear una columna como . pero tienen una tabla de períodos separada

Año fiscal [Año fiscal]*100 + [Mes fiscal]

Cree un rango en esto y haga un análisis usando eso. Consulte el artículo de esta semana. Una vez que se clasificará va a funcionar n de la misma manera

https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...

Last 6 period Ventas á CALCULATE(SUM(Sales[Net Sales]),FILTER(all('Date'),'Date'[period Rank]>'min('Date'[period Rank])-6 && 'Date'[period Rank]<-max('Date'[period]Rank)))

aquí Fecha será su tabla de períodos

itsmebvk
Continued Contributor
Continued Contributor

@amitchandak

Gracias Amit por respuesta rápida. Tengo un problema aquí, mi tabla de fechas tiene fechas hasta 2025 y estoy usando "Fecha de inicio del período fiscal" y "Fecha de finalización del período fiscal" Puedo identificar el período actual en el que estoy. Ahora usando que cómo vamos a conseguir rodando 6 meses a partir de ese período actual en particular.

@itsmebvamsi

El problema con el uso de una columna AAAAMM para períodos de desplazamiento es que los valores por definición no son consecutivos. Por ejemplo:

año Mes AAAA
2019 11 201911
2019 12 201912
2020 01 202001
2020 02 202002
2020 03 202003

por lo que cuando desea calcular los 6 meses de balanceo, si utiliza el valor AAAAMM y el filtro restando 5 meses (para tener un total de 6 meses incluyendo el actual) es posible que obtenga un período no incluido. Por ejemplo:

para el mes de marzo de 2020, obtendría 202003 - 5 a 201998, que no es un valor YYYYMM válido. (Restando 5 para obtener los 6 meses incluyendo el actual)

La forma más fácil de evitar esto posiblemente (como @amitchandak ha sugerido) es incluir una columna de índice para la columna YYYYMM en orden ascendente y usarla en los cálculos. Por ejemplo:

AAAA Indice AAAAM
201910 1
201911 2
201912 3
202001 4
202002 5
202003 6


Para obtener el promedio móvil de los últimos 6 meses, ahora puede restar 5 de usted índice AAAA para utilizar en las declaraciones de filtro en sus medidas, etc...

BTW, si desea crear un índice AAAAMM mediante RANK, necesitará que los valores estén en el formato YYYYMM. De lo contrario, el rango no será el esperado: 201912 es un valor más alto que 20201 (para YYYYM)





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.