Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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
Solved! Go to Solution.
No hay @shamo
Prueba esto,
1. Copie la tabla como tabla de calendario,
2. Arrastre la columna de la tabla de calendario a la segmentación de datos,
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:
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.
No hay @shamo
Prueba esto,
1. Copie la tabla como tabla de calendario,
2. Arrastre la columna de la tabla de calendario a la segmentación de datos,
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:
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.
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
@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])))