Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Problema con la comparación de dos CALCULATEDTABLES y con MAX WEEK

Querida comunidad,

En primer lugar, me gustaría mostrar una tabla de datos de muestra y su formato. Estos son datos de prueba sobre los que me gustaría explicar mi problema:

serax_0-1665148709219.png

Descripción de la tarea: Se debe usar una segmentación de datos, campo: 'Tabla[Fecha(AAAA-WW)]), comparando dos semanas: semana actual - es una semana seleccionada por un usuario en la segmentación de datos versus semana anterior - (semana actual -1). Tengo que usar el gráfico circular para mostrar la cantidad de ID por dos condiciones:

  • Aumento: Si id existió en dos semanas comparadas y 'Tabla[Valor] en la semana actual (seleccionado) es mayor que en la semana anterior (seleccionado -1)
  • Disminución: Si el ID existió en dos semanas comparadas y 'Tabla[Valor] en la semana actual (seleccionado) es menor que en la semana anterior (seleccionado 1)

Según la tabla superior, habría 1 ID en el grupo "Aumento": C - porque apareció en dos semanas analizadas + el valor en la semana seleccionada es mayor que anteriormente y 1 ID en el grupo "Disminución": A - porque apareció en dos semanas analizadas + el valor en la semana seleccionada es menor que anteriormente.

Problema con la semana máxima del año anterior:

Escribí un par de medidas que se utilizan para filtrar la tabla:

  1. VAR año = SELECTEDVALUE('Tabla'[Año])
  2. Dónde semana = SELECTEDVALUE('Tabla'[Semana])
  3. VAR MAX_WEEK = CALCULATE(MAX('Table'[Week]),ALL('Table'))
  4. Dónde current_week = SELECTEDVALUE('Tabla'[Fecha(AAAA-WW)])
  5. Dónde previous_week = CALCULAR(SELECTEDVALUE('Tabla'[fecha(AAAA-WW)]), FILTRO(Todo(«Cuadro»), Si(SEMANA = 1, 'Tabla'[Semana] = MAX_WEEK && 'Tabla'[Año] = año -1, 'Tabla'[Semana] = semana - 1 && 'Tabla'[Año] = año)))

Desafortunadamente, previous_week medida no funciona correctamente, el valor de la semana MAX en toda la tabla es 53, si el año anterior tiene un valor de semana máxima más bajo que 53, la medida devuelve el valor en blanco (si el año anterior tiene un valor máximo igual al valor máximo de toda la tabla, funciona perfectamente).

Este es el primer problema con el que cuento con su ayuda.

Problema con la comparación de dos CALCULATEDTABLES:

Escribí dos medidas, que crean dos tablas "virtuales" en semanas filtradas, pero desafortunadamente no tengo idea de cómo compararlas, por lo que puedo obtener los resultados deseados:

  1. Dónde CURRENT_WEEK_TABLE = CALCULABLE(RESUMIR('Tabla','Tabla'[ID], 'Tabla'[Valor]), 'Tabla'['Tabla'[Fecha(AAAA-WW)] = current_week)
  2. Dónde PREVIOUS_WEEK_TABLE = CALCULABLE(RESUMIR('Tabla','Tabla'[ID], 'Tabla'[Valor]), 'Tabla'['Tabla'[Fecha(AAAA-WW)] = previous_week)

¡Estaré muy agradecido por cualquier forma de ayuda proporcionada!

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@serax , para esto, es mejor crear una tabla de semanas de año separada con semana de año (YYYY-WW), año y semana. Decir fecha

tener la columna de rango en la tabla de fechas

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))

Inteligencia de tiempo, DATESMTD, DATESQTD, DATESYTD, semana a semana, semana hasta la fecha, período personalizado en el período,
Período personalizado hasta la fecha: https://youtu.be/aU2aKbnHuWs&t=145s

Power BI— Semana a semana y DMT
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

Hola @amitchandak
Su solución propuesta mediante el uso de RANK resolvió mi problema de MAX_WEEK, ¡gracias! Pero todavía no tengo ni idea de cómo comparar dos tablas calculadas.

¡Saludos!

@SERAX,

Tal vez pueda intentar usar las funciones ADDCOLUMNS y LOOKUPVALUE para agregar nuevas columnas de tabla a la tabla actual basadas en id.

Función ADDCOLUMNS (DAX) - DAX | Microsoft Learn

Función LOOKUPVALUE (DAX): | DAX Microsoft Learn

Considerar

Xiaoxin Sehng

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors