Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
tenemos un modelo de datos algo como este (esto es solo un ejemplo para mantener las cosas simples, el modelo real es más complejo):
Los puntos clave importantes son estos:
1. Tenemos una tabla de hechos principal (digamos "FACT_DQ") que se conecta a una base de datos Exasol a través de DirectQuery (en la parte superior de la captura de pantalla). Entre otras columnas tiene dos columnas de fecha alternativas (digamos DATE_ID1 y DATE_ID2).
2. Tenemos dos tablas agregadas (digamos "FACT_AGG1" y "FACT_AGG2") de esa tabla de hechos principal que son importadas (en la parte inferior de la captura de pantalla). Una tabla agregada agrega datos por DATE_ID1, la otra por DATE_ID2. Esa es la única diferencia entre estas dos tablas agregadas.
3. Tenemos una tabla de dimensiones de fecha (en el medio de la captura de pantalla), que está en modo dual para conectarse a ambos: la tabla de datos DQ principal y las tablas agregadas importadas. Todas las relaciones pasan por la columna "DATE_ID" en esta tabla (ver captura de pantalla).
4. Como resultado, también tenemos dos relaciones que van desde la tabla de fechas hasta la tabla de hechos principal de DQ. Solo una relación está activa a la vez (de forma predeterminada DATE_ID -> DATE_ID1), la otra relación está inactiva de forma predeterminada.
5. Administrar agregaciones se establece correctamente para ambas tablas agregadas imo (en ambas tablas agregadas todas las columnas de KPI se establecen como SUMA de las columnas de KPI correspondientes de la tabla de hechos de DQ; solo la columna Date_ID se establece como GroupBy de la columna DATE_ID1 (de la tabla de hechos de DQ) para la primera tabla agregada y DATE_ID2 (de la tabla de hechos de DQ) para la segunda tabla agregada (en realidad, GroupBy es la única diferencia en Administrar agregaciones entre estas dos tablas agregadas).
Ahora sobre el problema:
Tenemos dos fórmulas DAX algo como esto:
KPI_X_DATE1 = SUMA(FACT_DQ[KPI_X])
KPI_X_DATE2 = CALCULAR( SUMA(FACT_DQ[KPI_X]), USERELATIONSHIP(FACT_DQ[DATE_ID2], Fecha[DATE_ID]))
Ahora tenemos un informe simple -> solo una tabla con DATE_ID (de la tabla Fecha) en filas y el KPI (por lo que la medida KPI_X_DATE1 o KPI_X_DATE2) en las columnas. No hay otros filtros implícitos o explícitos (solo la Fecha en las filas).
Ahora la primera fórmula (KPI_X_DATE1) funciona bien en términos de agregación -> Power BI toma los valores de la tabla agregada (FACT_AGG1), como se esperaba.
Pero la segunda fórmula no funciona -> Power BI genera una consulta DQ y va a la base de datos (en lugar de ir a la segunda tabla agregada FACT_AGG2 -> esperábamos que la relación cambiara y que Power BI fuera a la segunda tabla agregada FACT_AGG2).
¿Tienes alguna idea de por qué el USERELATIONSHIP no funciona aquí? ¿La configuración es incorrecta o es una limitación de la fórmula DAX USERELATIONSHIP que no puede funcionar con tablas agregadas?
Muchas gracias por su tiempo.
Saludos
Karolis
Solved! Go to Solution.
El problema puede ser USERELATIONSHIP. Vea el enlace a continuación.
https://docs.microsoft.com/en-us/power-bi/transform-model/aggregations-advanced
"No se admite la agrupación por una columna de clave externa utilizada por una relación inactiva y la dependencia de la función USERELATIONSHIP para los aciertos de agregación".
El problema puede ser USERELATIONSHIP. Vea el enlace a continuación.
https://docs.microsoft.com/en-us/power-bi/transform-model/aggregations-advanced
"No se admite la agrupación por una columna de clave externa utilizada por una relación inactiva y la dependencia de la función USERELATIONSHIP para los aciertos de agregación".