¿Cómo calcular la suma de diferentes tablas separadas por años y cuál es el mejor modelo de datos para respaldar esta operación? Power BI.
Resultado Deseado
Elegir año desde el Slicer, devolver el resultado de la suma del Scorecard.
Problemas
No se puede poner una sola medida en el Scorecard y aplicarla para calcular todas las tablas mientras se selecciona el año por el Slicer.
por ejemplo:
sum(table20[Score])
sum(table21[Score])
sum(table22[Score])
- Es necesario evitar agregar tablas ya que cada tabla de un solo año contiene más de millones de filas.
- Todas las tablas se importan de Power BI Data Flow sin usar la consulta directa.
Datos
table20
YEAR GEO Type Score
2020 Asia A 1
2020 Africa A 2.5
2020 CentralAfrica A 0
2020 Europe A 0
2020 MiddleEast A 0
2020 America A 1.5
table21
YEAR GEO Type Score
2021 Asia A 3
2021 Africa A 2
2021 CentralAfrica A 6
2021 Europe A 1
2021 MiddleEast A 2
2021 America A 8
table22
YEAR GEO Type Score
2022 Asia A 4
2022 Africa A 0
2022 CentralAfrica C 3
2022 Europe C 4
2022 MiddleEast A 1
2022 America A 5
Relación
La tabla de calendario vincula esas tablas.
Calander = CALENDAR(DATE(2020,1,1),DATE(2022,12,31))
¿Cuál es la mejor manera de lograr esto sin agregar más tablas a un conjunto de datos más grande?
¿No está seguro si la agregación basada en la “tabla importada” puede ayudar con el rendimiento?
Por favor, avísenos si mi concepto es básicamente incorrecto, como que no se puede evitar agregar tablas, etc.
davy.ai
Solución
Una forma de lograr el resultado deseado sin agregar tablas es mediante el uso de medidas DAX.
Primero, cree una medida que calcule la suma de Score para un año específico:
Esta medida utiliza la función SELECTEDVALUE para obtener el año seleccionado del Slicer. Si no se selecciona ningún año, devuelve BLANK. De lo contrario, calcula la suma de Score para cada tabla utilizando las funciones CALCULATE y SUM y filtra la tabla por el año seleccionado.
A continuación, agregue una visualización de tarjeta al informe y ajuste el filtro de nivel visual a la medida Total Año. Esto mostrará la suma de Score para el año seleccionado.
Alternativamente, puede usar una visualización de matriz para mostrar la suma de Score para cada año y geo:
Esta medida utiliza las funciones ADDCOLUMNS y UNION para combinar las tablas y agregar columnas calculadas para Año, Geo y Score. Luego utiliza las funciones SUMX y IF para calcular la suma de Score para el año seleccionado y mostrarlo en la visualización de matriz.
Ambas soluciones funcionarán sin agregar tablas y sin usar Direct Query. Sin embargo, el rendimiento puede variar dependiendo del tamaño de las tablas y la complejidad del informe. Siempre es una buena idea probar su solución con datos de muestra y optimizar según sea necesario.