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
Syndicate_Admin
Administrator
Administrator

Último filtro de 5 semanas

Hola

Tengo una mesa donde tengo una columna de una semana con formato yyyyy-ww. No tengo ninguna columna de fecha. La columna de la semana contiene datos del año pasado hasta el año siguiente. Así, es de 2020-01 a 2022-52. Quiero crear una mesura que muestre sólo datos de las últimas 5 semanas. Por ejemplo, esta es la semana 20 ahora y cuando activo el filtro, shouls muestran datos para la semana 15-19 con correcto. También debería mostrar el año correcto a finales de año. Por ejemplo, si actualmente estoy en W3 2022, debe mostrar datos para W50 2021 - W2 2022.

Cualquier ayuda o consejos se aplican!

¡gracias!

Shamo

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No hay @shamo

Prueba esto,

1. Copie la tabla como tabla de calendario,

v-xiaotang_0-1621564133534.png
v-xiaotang_1-1621564133539.png

2. Arrastre la columna de la tabla de calendario a la segmentación de datos,

v-xiaotang_2-1621564133546.png

3. A continuación, cree sortcolumn en dos tablas,

En la tabla calendario:

SortColumn_Calendar = LEFT('calendar table'[YYYYWW],4)*100+RIGHT('calendar table'[YYYYWW],2)

En la tabla:

SortColumn_table = LEFT('Table'[YYYYWW],4)*100+RIGHT('Table'[YYYYWW],2)

4. A continuación, cree la medida:

Measure_YYYYWW =
VAR _seldate =
    SELECTEDVALUE ( 'calendar table'[SortColumn_Calendar] )
VAR _startdate =
    MINX (
        TOPN (
            5,
            FILTER ( ALL ( 'Table' ), 'Table'[SortColumn_table] < _seldate ),
            'Table'[SortColumn_table], DESC
        ),
        'Table'[SortColumn_table]
    )
VAR _enddate =
    MAXX (
        TOPN (
            5,
            FILTER ( ALL ( 'Table' ), 'Table'[SortColumn_table] < _seldate ),
            'Table'[SortColumn_table], DESC
        ),
        'Table'[SortColumn_table]
    )
RETURN
    IF (
        ISBLANK ( _seldate ),
        SELECTEDVALUE ( 'Table'[YYYYWW] ),
        IF (
            MIN ( 'Table'[SortColumn_table] ) <= _enddate
                && MIN ( 'Table'[SortColumn_table] ) >= _startdate,
            SELECTEDVALUE ( 'Table'[YYYYWW] ),
            BLANK ()
        )
    )

resultado:

v-xiaotang_4-1621564133548.png

v-xiaotang_5-1621564133551.png

Consulte el archivo de ejemplo adjunto a continuación.

Saludos

Equipo de apoyo a la comunidad _ Tang

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

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No hay @shamo

Prueba esto,

1. Copie la tabla como tabla de calendario,

v-xiaotang_0-1621564133534.png
v-xiaotang_1-1621564133539.png

2. Arrastre la columna de la tabla de calendario a la segmentación de datos,

v-xiaotang_2-1621564133546.png

3. A continuación, cree sortcolumn en dos tablas,

En la tabla calendario:

SortColumn_Calendar = LEFT('calendar table'[YYYYWW],4)*100+RIGHT('calendar table'[YYYYWW],2)

En la tabla:

SortColumn_table = LEFT('Table'[YYYYWW],4)*100+RIGHT('Table'[YYYYWW],2)

4. A continuación, cree la medida:

Measure_YYYYWW =
VAR _seldate =
    SELECTEDVALUE ( 'calendar table'[SortColumn_Calendar] )
VAR _startdate =
    MINX (
        TOPN (
            5,
            FILTER ( ALL ( 'Table' ), 'Table'[SortColumn_table] < _seldate ),
            'Table'[SortColumn_table], DESC
        ),
        'Table'[SortColumn_table]
    )
VAR _enddate =
    MAXX (
        TOPN (
            5,
            FILTER ( ALL ( 'Table' ), 'Table'[SortColumn_table] < _seldate ),
            'Table'[SortColumn_table], DESC
        ),
        'Table'[SortColumn_table]
    )
RETURN
    IF (
        ISBLANK ( _seldate ),
        SELECTEDVALUE ( 'Table'[YYYYWW] ),
        IF (
            MIN ( 'Table'[SortColumn_table] ) <= _enddate
                && MIN ( 'Table'[SortColumn_table] ) >= _startdate,
            SELECTEDVALUE ( 'Table'[YYYYWW] ),
            BLANK ()
        )
    )

resultado:

v-xiaotang_4-1621564133548.png

v-xiaotang_5-1621564133551.png

Consulte el archivo de ejemplo adjunto a continuación.

Saludos

Equipo de apoyo a la comunidad _ Tang

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

Syndicate_Admin
Administrator
Administrator

@amitchandak ,

Gracias por la respuesta. Creo que esto calcula a partir de la última semana en los datos disponibles. Pero quiero tener 5 semanas de hoy.

También quiero agregar la medida al panel de filtro y cuando selecciono 1, entonces se muestra la última 5 semana y cuando se seleccionan 0 o no, entonces los datos normales

Syndicate_Admin
Administrator
Administrator

@shamo , asegúrese de crear una tabla independiente para la semana del año y, a continuación, agregue la columna de clasificación

Rango de semana = formato RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //YYYYWW

Medidas
Esta semana = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])))
Semana pasada = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])-1))

Últimas 5 semanas = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-5 && 'Date'[Week Rank]<=max('Date'[Week Rank])))

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.