Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hola!
Tengo un gráfico que tiene el el eje x las semanas y como valor el stock de seguridad. Necesito que se vea en el gráfico la diferencia entre una semana y otra.
Por ejemplo. Semana 30 hay 399 y semana 31 hay 398. Entonces, necesito que en la semana 31 se vea el valor de la diferencia, es decir: -1. Asi sucesivamente.
Muchas gracias!
Solved! Go to Solution.
Hay @Syndicate_Admin
Al principio, pruebe mi código para crear una tabla de fechas. Si usa weeknum, se confundirá a principios del próximo año.
Por ejemplo, 2020/12/31 y 2021/01/01 están en la misma semana, pero weeknum le mostrará 53 y 1. Eso es incorrecto y dificultará nuestro cálculo.
Tabla de fechas:
Date =
ADDCOLUMNS (
CALENDARAUTO (),
"Year", YEAR ( [Date] ),
"Month", MONTH ( [Date] ),
"Weeknum", WEEKNUM ( [Date], 2 ),
"YearMonth",
YEAR ( [Date] ) * 100
+ MONTH ( [Date] )
)
Agregar columnas calculadas:
ISO 8601 WeekNum =
VAR _COUNT0 =
CALCULATE (
COUNTROWS ( 'Date' ),
FILTER (
'Date',
'Date'[Year] = EARLIER ( 'Date'[Year] )
&& 'Date'[WeekNum] - 1 = 0
)
)
VAR _BASENUM1 =
IF ( _COUNT0 < 7, 'Date'[WeekNum] - 1, 'Date'[WeekNum] )
VAR _ISO_8601_WeekNum =
IF (
WEEKDAY ( DATE ( 'Date'[Year] - 1, 01, 01 ) ) <> 1
&& 'Date'[Year] = 'Date'[Year]
&& _BASENUM1 = 0,
WEEKNUM ( DATE ( MIN ( 'Date'[Year] ), 12, 31 ), 1 ) - 1,
_BASENUM1
)
RETURN
_ISO_8601_WeekNum
ISO_Year =
VAR _COUNT0 =
CALCULATE (
COUNTROWS ( 'Date' ),
FILTER (
'Date',
'Date'[Year] = EARLIER ( 'Date'[Year] )
&& 'Date'[WeekNum] - 1 = 0
)
)
VAR _BASENUM1 =
IF ( _COUNT0 < 7, 'Date'[WeekNum] - 1, 'Date'[WeekNum] )
RETURN
IF(_BASENUM1 = 0,'Date'[Year] -1,'Date'[Year])
ISO YearWeekNum = 'Date'[ISO_Year]*100+'Date'[ISO 8601 WeekNum]
Cree una relación entre la tabla de datos y esta tabla de fechas del calendario por columna de fechas.
Cree una medida como la siguiente.
Diff =
VAR _CurValue =
CALCULATE ( SUM ( 'Sample'[Value] ) )
VAR _LastISOYearWeekNum =
MAXX (
FILTER (
ALL ( 'Date' ),
'Date'[ISO YearWeekNum] < MAX ( 'Date'[ISO YearWeekNum] )
),
'Date'[ISO YearWeekNum]
)
VAR _LastValue =
CALCULATE (
SUM ( 'Sample'[Value] ),
FILTER ( ALL ( 'Date' ), 'Date'[ISO YearWeekNum] = _LastISOYearWeekNum )
)
RETURN
_CurValue - _LastValue
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @Syndicate_Admin
Al principio, pruebe mi código para crear una tabla de fechas. Si usa weeknum, se confundirá a principios del próximo año.
Por ejemplo, 2020/12/31 y 2021/01/01 están en la misma semana, pero weeknum le mostrará 53 y 1. Eso es incorrecto y dificultará nuestro cálculo.
Tabla de fechas:
Date =
ADDCOLUMNS (
CALENDARAUTO (),
"Year", YEAR ( [Date] ),
"Month", MONTH ( [Date] ),
"Weeknum", WEEKNUM ( [Date], 2 ),
"YearMonth",
YEAR ( [Date] ) * 100
+ MONTH ( [Date] )
)
Agregar columnas calculadas:
ISO 8601 WeekNum =
VAR _COUNT0 =
CALCULATE (
COUNTROWS ( 'Date' ),
FILTER (
'Date',
'Date'[Year] = EARLIER ( 'Date'[Year] )
&& 'Date'[WeekNum] - 1 = 0
)
)
VAR _BASENUM1 =
IF ( _COUNT0 < 7, 'Date'[WeekNum] - 1, 'Date'[WeekNum] )
VAR _ISO_8601_WeekNum =
IF (
WEEKDAY ( DATE ( 'Date'[Year] - 1, 01, 01 ) ) <> 1
&& 'Date'[Year] = 'Date'[Year]
&& _BASENUM1 = 0,
WEEKNUM ( DATE ( MIN ( 'Date'[Year] ), 12, 31 ), 1 ) - 1,
_BASENUM1
)
RETURN
_ISO_8601_WeekNum
ISO_Year =
VAR _COUNT0 =
CALCULATE (
COUNTROWS ( 'Date' ),
FILTER (
'Date',
'Date'[Year] = EARLIER ( 'Date'[Year] )
&& 'Date'[WeekNum] - 1 = 0
)
)
VAR _BASENUM1 =
IF ( _COUNT0 < 7, 'Date'[WeekNum] - 1, 'Date'[WeekNum] )
RETURN
IF(_BASENUM1 = 0,'Date'[Year] -1,'Date'[Year])
ISO YearWeekNum = 'Date'[ISO_Year]*100+'Date'[ISO 8601 WeekNum]
Cree una relación entre la tabla de datos y esta tabla de fechas del calendario por columna de fechas.
Cree una medida como la siguiente.
Diff =
VAR _CurValue =
CALCULATE ( SUM ( 'Sample'[Value] ) )
VAR _LastISOYearWeekNum =
MAXX (
FILTER (
ALL ( 'Date' ),
'Date'[ISO YearWeekNum] < MAX ( 'Date'[ISO YearWeekNum] )
),
'Date'[ISO YearWeekNum]
)
VAR _LastValue =
CALCULATE (
SUM ( 'Sample'[Value] ),
FILTER ( ALL ( 'Date' ), 'Date'[ISO YearWeekNum] = _LastISOYearWeekNum )
)
RETURN
_CurValue - _LastValue
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@Syndicate_Admin , Necesita una tabla de semanas o semanas de año independientes, con Rango en la semana del año.
Nueva columna en la columna Fecha o semana de Ywar
nuevas columnas
Fecha de inicio de la semana = 'Fecha'[Fecha]+-1*WEEKDAY('Fecha'[Fecha],2)+1
Fecha de fin de semana = 'Fecha'[Fecha]+ 7-1*WEEKDAY('Fecha'[Fecha],2)
Rango de la semana = RANKX(all('Date'),'Date'[Fecha de inicio de la semana],,ASC,Dense)
O
Rango de semana = RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //YYYYWW formato
Medidas
Esta semana = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])))
Última semana = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])-1))
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!