Agrupación dinámica de fechas (por número de semana) con etiqueta «Antes»

Un usuario Pregunto ✅

Anónimo

Estoy trabajando en un informe de producción que muestra el volumen de producción por semana. Los datos se agregan semanalmente, por lo que esto requiere una agrupación dinámica de fechas.

El requisito en el eje X es mostrar la semana actual, las últimas 9 semanas y el grupo de las últimas 10 semanas y antes.

Como se muestra en la imagen – Semana actual, Semana-1, Semana -2, Semana -3 ….. y grupo Semana 11 y antes en uno «Antes de la semana XX» –

Puedo hacer el cálculo para el número de la semana, pero ¿cómo logro el «Antes de la semana XXX» (XXX es el número de semana real) en la etiqueta del eje?

semana de producción.jpg

parry2k

@Anónimo intente esto, agregue las siguientes columnas y pruebe.

//get week offset based on current date
Week Offset = DATEDIFF ( TODAY(), 'Table'[Date], WEEK ) 

//get week number
Week Number = WEEKNUM ( 'Table'[Date], 1 )

//add week label/grouping
Week Label = 
VAR __howManyWeeksBefore = -10
VAR __beforeWeek = 
    CALCULATE ( 
        MAX ( 'Table'[Week Number] ), 
        ALL ( 'Table' ), 
        'Table'[Week Offset] < ( __howManyWeeksBefore + 1 ) 
    )
RETURN
SWITCH ( TRUE(),
    'Table'[Week Offset] = 0, "Current Week",
    'Table'[Week Offset] > __howManyWeeksBefore, FORMAT ( 'Table'[Date], "WW-YYYY" ),
    FORMAT ( __beforeWeek, "General Number" ) & " and before" 
)

Revisa mi última publicación de blog Comparación del cliente seleccionado con otros N clientes principales | PeryTUS Yo lo haría ❤ Prestigio si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visitanos en https://perytus.com, su ventanilla única para proyectos, capacitación y consultoría relacionados con Power BI.

parry2k

@Anónimo intente esto, agregue las siguientes columnas y pruebe.

//get week offset based on current date
Week Offset = DATEDIFF ( TODAY(), 'Table'[Date], WEEK ) 

//get week number
Week Number = WEEKNUM ( 'Table'[Date], 1 )

//add week label/grouping
Week Label = 
VAR __howManyWeeksBefore = -10
VAR __beforeWeek = 
    CALCULATE ( 
        MAX ( 'Table'[Week Number] ), 
        ALL ( 'Table' ), 
        'Table'[Week Offset] < ( __howManyWeeksBefore + 1 ) 
    )
RETURN
SWITCH ( TRUE(),
    'Table'[Week Offset] = 0, "Current Week",
    'Table'[Week Offset] > __howManyWeeksBefore, FORMAT ( 'Table'[Date], "WW-YYYY" ),
    FORMAT ( __beforeWeek, "General Number" ) & " and before" 
)

Revisa mi última publicación de blog Comparación de un cliente seleccionado con otros N clientes principales | PeryTUS Yo lo haría ❤ Prestigio si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visitanos en https://perytus.com, su ventanilla única para proyectos, capacitación y consultoría relacionados con Power BI.

Anónimo

Sí, tengo una dimensión de fecha y entiendo que una columna calculada para usarla como eje X

Estaba pensando en lo que sugirió, pero no se me ocurrió una buena manera de hacerlo a través de DAX.

A continuación se muestra mi dimensión de fecha con 2 columnas: Fecha de inicio de la semana y Número de semana ISO.

Lo que no puedo lograr es obtener el valor «Semana XX y antes» para todas las -10 semanas en adelante.

Fecha Semana ISO Año columna calculada deseada comentarios (no en la tabla de fechas)
08-mar-21 10-2021 11-2021 y antes durante -10 semanas en adelante
15-mar-21 11-2021 11-2021 y antes durante -10 semanas en adelante
22-mar-21 12-2021 12-2021 9
29-mar-21 13-2021 13-2021 8
05-abr-21 14-2021 14-2021 7
12-abr-21 15-2021 15-2021 6
19-abr-21 16-2021 16-2021 5
26-abr-21 17-2021 17-2021 4
03-mayo-21 18-2021 18-2021 3
10-mayo-21 19-2021 19-2021 2
17-mayo-21 20-2021 20-2021 1
24-mayo-21 21-2021 semana actual

0

¡Agradezco cualquier ayuda!

parry2k

@Anónimo asumiendo que tiene una dimensión de calendario en su modelo, debe agregar una columna en este que se usará para el eje x, puede calcular la columna de compensación en función de la fecha actual y, antes de la semana, agregar un valor de concatenación en esa columna. Si no puede resolverlo, comparta el archivo pbix con datos de muestra y elimine la información confidencial antes de compartir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *