3
Votar
Presentado por
Anónimo
sobre
29-07-2020
07:08 a. M.
Encuentro un problema / comportamiento muy extraño en PBI, que sospecho que tiene algo que ver con la forma en que se usa la transformación de fusión en PowerQuery.
Básicamente, extraigo datos de la base de datos de SQL Server a tablas / consultas de PBI. Hay 5 consultas en total (1 para Fecha, 3 «dimensiones» y 1 «hecho»).
Las tablas de origen no tienen un campo clave obvio, concatené varios campos para formar un campo clave.
Además, agregué Index a la tabla / consulta en PowerQuery (a través de Agregar columna> Columna de índice).
Hice esto para las tablas de 3 «dimensiones».
Luego, para la tabla de «hechos», realicé transformaciones de consultas combinadas (IZQUIERDA externa sin coincidencia aproximada) con las tablas de 3 «dimensiones» basadas en la combinación de campos que forman los campos clave.
A partir de esta transformación, puedo obtener el campo de índice (actuar ahora como una clave sustituta) de cada una de las tablas de «dimensión», de modo que reproduzca un modelo de datos de esquema de estrella / dimensión de hecho adecuado, que creo que es el mejor práctica.
Este es el enfoque que sigo https://radacad.com/build-your-first-star-schema-model-in-action-power-bi-modeling-basics
Todo estaba funcionando bien, hasta que realicé la actualización de datos.
Cada vez que actualizo los datos, aunque la fuente no haya cambiado, los datos en Power BI Desktop siguen cambiando.
Al mirar la pestaña Datos, parece que las claves de índice en la tabla de hechos están fuera de sintonía, es decir, no corresponden al valor correcto del campo de índice en las tablas de dimensiones.
Este comportamiento también se observa cuando actualizo datos en Power BI Report Server y Power BI Service.
Una cosa que parece «solucionarlo» es deshabilitar la carga paralela en Power BI Desktop (Archivo> Opciones y configuración> Opciones> Archivo actual> Carga de datos> Carga paralela de tablas> desmarque Habilitar carga paralela de tablas).
Hace que la actualización / carga de los datos sea lenta, pero parece que los datos resultantes no se salen de control una vez que se completan.
Sin embargo, esto solo se aplica en Power BI Desktop, es decir, incluso si deshabilito la carga paralela en PBI Desktop, una vez que se publica en PBIRS o en el servicio PBI, el problema sigue ahí.
Otra cosa que parece «solucionar» el problema, pero solo en PowerBI Desktop, es lo que sugiere el usuario de @ImkeF en https://community.powerbi.com/t5/Power-Query/Inconsistent-Data-After-Refresh-Merge-Query -Issue / mp / 1 … agregando Table.Buffer al final de los pasos de PowerQuery.
La solución alternativa:
Dado que el problema parece deberse a que PowerBI / PowerQuery recupera incorrectamente los valores del campo de índice después de la transformación de consultas combinadas en la tabla de hechos, eliminé todas las relaciones que utilizan estos campos de clave / índice.
En su lugar, ahora uso la concatenación de varios campos para formar las claves en cada tabla y unirlas en la relación.
Al hacer esto, no hay problema con los datos que se salgan de control: la actualización de datos de PBI Desktop y PBI Service parece estar bien.
¿Alguien ha experimentado esto antes?
¿Es esto un error conocido?
Estado: nuevo
v-chuncz-msft
@Anónimo
Gracias por compartir la solución. Para obtener un soporte técnico mejor y más rápido para este problema, puede crear directamente un ticket de soporte.
rargyle
I pensar He encontrado una solución gracias al poder de la consulta SQL. En lugar de agregar una columna de índice en PowerQuery, después de obtener los datos, estoy usando ROW_NUMBER en mi base de datos SQL:
SELECT ROW_NUMBER () OVER (ORDER BY Column1, Column2) id_Num, Column1, Column2 […]
Hasta ahora, mis índices se han comportado al actualizarse en el servicio PowerBI. ¡Ojalá siga así …!
2 Comentarios (2 Nuevos)