Passer au contenu principal

Una de las características de Power BI (y Power Pivot) es que los datos no se pueden cambiar una vez que se cargan en la base de datos, esto es por diseño. Power BI es una base de datos de informes, no una hoja de cálculo. Power Pivot y Power BI están diseñados para informar fielmente sobre los datos que se cargan y no permiten que un usuario «cambie» los datos después de la carga. Este paradigma es muy diferente para quienes viven en un mundo Excel. Cuando usa Excel, puede anular cualquier número (o números) que desee, en caso de que necesite realizar dicho cambio.

La mejor solución: ¡arregle la fuente!

Permítanme hacer esta declaración por adelantado y ser claro. La mejor manera de resolver problemas con los datos de origen es volver al origen y corregir los problemas allí. Esta es mi recomendación sobre cómo debe resolver estos problemas. Sin embargo, a veces eso no es posible por alguna razón. Este artículo explicará cómo puede usar Power Query para anular datos incorrectos durante la carga cuando no puede cambiarlos en la fuente, por cualquier motivo.

Tables d'auto-référence

Una opción que podría utilizar para cambiar los datos es utilizar el concepto de tablas de autorreferencia sobre el que escribí en este artículo. Este enfoque puede funcionar, pero tiene una desventaja. Debe cargar todos los datos de la fuente en Excel y solo cambiar los datos individuales que sean incorrectos. Si bien esto puede funcionar para conjuntos de datos pequeños, no es práctico para conjuntos de datos más grandes.

igraal_fr-fr

Usar tablas de anulación

Una mejor manera de resolver este problema con Power Query es crear una tabla de Excel que contenga las excepciones que deben corregirse. Luego, carga esa tabla de Excel en Power Query junto con la fuente y sustituye los datos incorrectos con los datos corregidos. Escribí un artículo sobre cómo sustituir puntos de datos individuales en 2017. En el artículo de hoy, le mostraré cómo usar tablas de sustitución para reemplazar registros completos en sus datos de origen.

J'utilise la base de données Adventure Works pour faire une démonstration.

Reemplazo de registros incorrectos con una tabla de anulación

Estos son los pasos para reemplazar registros incorrectos con registros correctos mediante una tabla de anulación.

  • Identifiez les mauvais enregistrements dans la table source.
  • Tome una copia de los registros completos y agréguela a una tabla de anulación (excepción) en Excel.
  • Apportez les modifications nécessaires aux registres.
  • Utilice Power Query para eliminar los registros originales de la fuente y reemplazarlos con la versión modificada.

Aquí hay una demostración paso a paso

Las siguientes entradas son para una factura (# 1) en la tabla Ventas. Digamos que el costo (n. ° 2) de una línea de pedido es incorrecto.

Debe identificar los registros (filas) que deben corregirse. Puede hacer esto desde la vista de datos en Power BI Desktop. Simplemente acceda a la vista de datos, filtre por el número de factura y luego copie la tabla que contiene todas las filas de esa factura.

Copier depuis Dm
  • Luego puede pegar los registros en una hoja de cálculo de Excel.
  • Convertissez les enregistrements en table (ou ajoutez-les à une table existante si vous en avez déjà une). Donnez un bon nom à la table, dites InvOverrides.
  • Vea una muestra a continuación.

En excel

  • Conserve solo las filas que desee modificar y elimine el resto. Puede hacer esto en Power BI cuando extraiga los registros por primera vez, o simplemente hacerlo en Excel una vez que tenga una copia cargada allí.
  • Realice las correcciones necesarias en cada fila (ver más abajo en verde).

  • Dans Power Query dans Power BI, créez une nouvelle requête et chargez la table InvOverRides à partir du fichier Excel.
    Consultation des Inndromeides
  • Cree una consulta provisional para la tabla Sales y asígnele el nombre SalesStaging. Puede hacer esto haciendo clic con el botón derecho en el paso final de la tabla de ventas actual y seleccione «Extraer anterior».

Créer une mise en scène

  • Vous disposez maintenant de la requête SalesStaging avec les lignes de données d'origine.

Demande de stade de vente

  • Pour supprimer les lignes à corriger du tableau d'origine, il suffit de fusionner la requête SalesStaging avec InvOverRides à l'aide d'un izquierda anti unión. Esto mantendrá los registros que solo existen en la tabla de origen y eliminará los que también existen en la tabla InvOverRides, exactamente lo que necesita. Tenga en cuenta bien: me he unido a las 2 tablas como se muestra a continuación usando 2 columnas para la unión. Esto es necesario para identificar correctamente las filas únicas (la concatenación de 2 columnas hace que cada fila sea única). Esto puede ser diferente con sus datos.

La vista de dependencia de la consulta final se verá así.

Vue des dépendances

Envelopper

Existen variaciones sobre cómo puede completar este ejercicio. Técnicamente no necesitas la mesa de preparación, pero me gusta crear una para mantener la manipulación de los cambios en un lugar alejado de la mesa final que se cargará.