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

Modifica condicionalmente la base de cálculo de la semana pasada

Hola

Tengo una tabla de fechas que evoca columnas como

FechaWeekOfYearWeekOfYearNumber
20.12.20WK 51/20202051
27.12.20WK 52/20202052
03.01.21WK 53/20202053

En base a esto, construyo una medida hace un tiempo que devuelve el WeekOfYearNumber para el año anterior.
Como se puede ver en la medida por debajo del año anterior para la semana 51/20 se calcula por WeekOfYear -100 por lo que 202051 -100 a 201951.
Y en base a esto he construido un gráfico de barras simple que muestra las ventas de cada semana y la semana respectiva del año siguiente.
Esto funciona bien siempre y cuando exista la semana del año anterior.
WeekOfYear Año anterior ?
VAR weekNumber ? SELECTEDVALUE('Date'[WeekOfYear Number])
devolución
CALCULATE(
SELECTEDVALUE('Date'[WeekOfYear]),
ALL('Date'),
('Fecha'[Número de Año de Semana] - WeekNumber - 100)
)
Por lo tanto, la lógica debe cambiar dentro de la misma medida (yo vivo). Para la semana 53/20 y las siguientes semanas 01/21, 02/21 me gustaría comparar las ventas sólo para 53/20 a futuro con las ventas de hace 52 semanas. Así que 53/20 contra 01/20, 01/21 contra 02/20, 02/20 contra 03/21 y así sucesivamente.
Saludos
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @dats

Cree dos medidas como:

LFY week of year num =

var _yearnum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    LEFT(MAX('Table'[WeekOfYearNumber]),4),

    LEFT(MAX('Table'[WeekOfYearNumber]),4)-1

)

var _weeknum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)+1

)

return

CONCATENATE(_yearnum,IF(_weeknum<10,CONCATENATE(0,_weeknum),_weeknum))
week of LFY =

var _yearnum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    LEFT(MAX('Table'[WeekOfYearNumber]),4),

    LEFT(MAX('Table'[WeekOfYearNumber]),4)-1

)

var _weeknum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)+1

)

return

CONCATENATE(CONCATENATE("WK",CONCATENATE(IF(_weeknum<10,CONCATENATE(0,_weeknum),_weeknum),"/")),RIGHT(_yearnum,2))

Aquí está la salida:

v-xulin-mstf_0-1611038747138.png

Aquí está la demostración, por favor pruébela: Condicionalmente Cambie la base de cálculo para la semana pasada año

Saludos

Enlace

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hay @dats

Cree dos medidas como:

LFY week of year num =

var _yearnum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    LEFT(MAX('Table'[WeekOfYearNumber]),4),

    LEFT(MAX('Table'[WeekOfYearNumber]),4)-1

)

var _weeknum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)+1

)

return

CONCATENATE(_yearnum,IF(_weeknum<10,CONCATENATE(0,_weeknum),_weeknum))
week of LFY =

var _yearnum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    LEFT(MAX('Table'[WeekOfYearNumber]),4),

    LEFT(MAX('Table'[WeekOfYearNumber]),4)-1

)

var _weeknum=

IF(

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52>0,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)-52,

    RIGHT(MAX('Table'[WeekOfYearNumber]),2)+1

)

return

CONCATENATE(CONCATENATE("WK",CONCATENATE(IF(_weeknum<10,CONCATENATE(0,_weeknum),_weeknum),"/")),RIGHT(_yearnum,2))

Aquí está la salida:

v-xulin-mstf_0-1611038747138.png

Aquí está la demostración, por favor pruébela: Condicionalmente Cambie la base de cálculo para la semana pasada año

Saludos

Enlace

Syndicate_Admin
Administrator
Administrator

@dats, no muy claro. Normalmente uso rango de la semana en la fecha de inicio de la semana o YYYYWW para tratar con la semana.

Vea si eso puede ayudar

Power BI — Semana a semana y WTD
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...
https://www.youtube.com/watch?v=pnAesWxYgJ8

O

¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

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.