Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
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 January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.