Cómo tratar los errores en Power Query

En Power Query, puede encontrar dos tipos de errores:

  • Errores en el nivel de paso
  • Errores en el nivel de celda

En este artículo se proporcionan sugerencias sobre cómo solucionar los errores más comunes que puede encontrar en cada nivel y se describe el motivo del error, el mensaje de error y los detalles de cada uno de ellos.

Error en el nivel de paso

Un error en el nivel de paso impide que la consulta se cargue y muestra los componentes del error en un panel amarillo.

Error en el nivel de paso.

  • Motivo del error: primera sección antes de los dos puntos. En el ejemplo anterior, el motivo del error es Expression.Error.
  • Mensaje de error: la sección directamente después del motivo. En el ejemplo anterior, el mensaje de error es The column 'Column' of the table wasn't found (No se ha encontrado la columna 'Columna' de la tabla).
  • Detalle del error: sección directamente después de la cadena Details:. En el ejemplo anterior, el detalle del error es Column (Columna).

Errores comunes en el nivel de paso

En todos los casos, se recomienda echar un vistazo al motivo del error, el mensaje de error y los detalles del error para comprender lo que está causando el error. Puede seleccionar el botón Ir al error, si está disponible, para ver el primer paso donde se ha producido el error.

Vaya al botón de error.

No se encuentra el origen - DataSource.Error

Este error suele producirse cuando el usuario no puede acceder al origen de datos, el usuario no tiene las credenciales correctas para acceder al origen de datos o el origen se ha movido a un lugar diferente.

Ejemplo: supongamos que tiene una consulta de un icono de texto que se encuentra en la unidad D y que creó el usuario A. El usuario A comparte la consulta con el usuario B, que no tiene acceso a la unidad D. Cuando esta persona intenta ejecutar la consulta, obtiene un DataSource.Error porque no hay ninguna unidad D en su entorno.

Error del origen de datos, no encontró el archivo porque no hay ninguna unidad D en el entorno actual.

Posibles soluciones: puede cambiar la ruta del archivo de texto a una ruta a la que ambos usuarios tengan acceso. Como usuario B, puede cambiar la ruta del archivo para que sea una copia local del mismo archivo de texto. Si el botón Editar configuración está disponible en el panel de errores, puede seleccionarlo y cambiar la ruta del archivo.

No se ha encontrado la columna de la tabla

Este error se suele desencadenar cuando un paso hace una referencia directa a un nombre de columna que no existe en la consulta.

Ejemplo: supongamos que tiene una consulta de un archivo de texto donde uno de los nombres de columna era Columna. En la consulta, tiene un paso que cambia el nombre de esa columna a Fecha. Pero hubo un cambio en el archivo de texto original y ya no tiene un encabezado de columna con el nombre Columna porque se cambió manualmente a Fecha. Power Query no puede encontrar un encabezado de columna llamado Columna, por lo que no puede cambiar el nombre de ninguna columna. Muestra el error que se indica en la siguiente imagen.

Error de expresión, no se encontró la columna de la tabla porque se cambió manualmente el nombre de la columna.

Posibles soluciones: hay varias soluciones para este caso, pero todas dependen de lo que desea hacer. En este ejemplo, dado que el encabezado de columna Fecha correcto ya procede del archivo de texto, puede eliminar el paso que cambia el nombre de la columna. Esto permitirá que la consulta se ejecute sin este error.

Otros errores comunes en el nivel de paso

Al combinar o fusionar datos entre varios orígenes de datos, es posible que reciba un error de Formula.Firewall, como el que se muestra en la imagen siguiente.

Error de servidor de seguridad de fórmulas, la consulta hace referencia a otras consultas o pasos, por lo que es posible que no acceda directamente a un origen de datos.

Este error puede deberse a varios motivos, como los niveles de privacidad de los datos entre orígenes de datos o la forma en que se combinan o fusionan estos orígenes de datos. Para obtener más información sobre cómo diagnosticar este problema, vaya a Firewall de privacidad de datos.

Error en el nivel de celda

Un error en el nivel de celda no impedirá que la consulta se cargue, pero muestra valores de error como Error en la celda. Al seleccionar el espacio en blanco en la celda se muestra el panel de errores debajo de la vista previa de datos.

Para mostrar el mensaje de error, seleccione espacios en blanco en una celda de tabla que contenga un error.

Nota:

Las herramientas de generación de perfiles de datos pueden ayudarle a identificar más fácilmente los errores en el nivel de celda con la característica de calidad de las columnas. Más información: Herramientas de generación de perfiles de datos

Manejo de errores en el nivel de celda

Al encontrar errores en el nivel de celda, Power Query proporciona un conjunto de funciones para manejarlos mediante la eliminación, sustitución o mantenimiento de los errores.

En las siguientes secciones, los ejemplos que se ofrecen utilizarán la misma consulta de ejemplo como punto de partida. En esta consulta, tiene una columna de Ventas que tiene una celda con un error causado por un error de conversión. El valor dentro de esa celda era NA, pero cuando transformó esa columna en un número entero, Power Query no pudo convertir NA en un número, por lo que muestra el siguiente error.

Muestra el error de formato de datos, no se pudo convertir al error de tipo de datos en el panel de errores.

Quitar errores

Para quitar filas con errores en Power Query, seleccione primero la columna que contiene errores. En la pestaña Inicio, en el grupo Reducir filas, seleccione Quitar filas. En el menú desplegable, seleccione Quitar errores.

Elimine el botón Errores de la pestaña Inicio.

El resultado de esta operación le proporcionará la tabla que está buscando.

Se ha eliminado de la tabla que anteriormente contenía cinco filas la fila que contenía el error, por lo que quedan cuatro filas en la tabla.

Reemplazar errores

Si en lugar de quitar filas con errores, quiere reemplazar los errores por un valor fijo, también puede hacerlo. Para reemplazar las filas que tienen errores, seleccione primero la columna que contiene errores. En la pestaña Transformar, en el grupo Cualquier columna, seleccione Reemplazar valores. En el menú desplegable, seleccione Reemplazar errores.

Reemplace el botón Errores en la pestaña Transformar.

En el cuadro de diálogo Reemplazar errores, escriba el valor 10 porque desea reemplazar todos los errores por el valor 10.

Cuadro de diálogo Reemplazar errores.

El resultado de esta operación le proporcionará la tabla que está buscando.

La tabla en la que la tercera fila contenía un error en la columna Ventas ahora ha remplazado el error por el valor 10.

Conservar los errores

Power Query puede servir como una buena herramienta de auditoría para identificar cualquier fila con errores, incluso si no corrige los errores. Aquí es donde Conservar errores puede ser útil. Para conservar las filas que tienen errores, seleccione primero la columna que contiene errores. En la pestaña Inicio, en el grupo Reducir filas, seleccione Conservar filas. En el menú desplegable, seleccione Conservar errores.

Mantenga el botón Errores en la pestaña Inicio.

El resultado de esta operación le proporcionará la tabla que está buscando.

Tabla final que mantiene solo las filas que contienen errores.

Errores comunes en el nivel de celda

Al igual que con cualquier error en el nivel de paso, le recomendamos que examine detenidamente los motivos de error, los mensajes de error y los detalles de error proporcionados en el nivel de celda para comprender la causa de los errores. En las secciones siguientes se describen algunos de los errores en el nivel de celda más frecuentes en Power Query.

Errores de conversión de tipo de datos

Se desencadena normalmente al cambiar el tipo de datos de una columna de una tabla. Algunos valores encontrados en la columna no se pudieron convertir al tipo de datos deseado.

Ejemplo: supongamos que tiene una consulta que incluye una columna llamada Ventas. Una celda de esa columna tiene NA como valor de celda, mientras que el resto tiene números enteros como valores. Decide convertir el tipo de datos de la columna de texto a número entero, pero la celda con el valor NA genera un error.

No se pudo convertir a los detalles del error del tipo de datos.

Posibles soluciones: después de identificar la fila con el error, puede modificar el origen de datos para reflejar el valor correcto en lugar de NA o bien puede aplicar una operación de Reemplazar error para proporcionar un valor para los valores de NA que generan un error.

Errores de operación

Al intentar aplicar una operación que no se admite, como multiplicar un valor de texto por un valor numérico, se genera un error.

Ejemplo: supongamos que quiere crear una columna personalizada para la consulta mediante la creación de una cadena de texto que contenga la frase "Total de ventas:" concatenada con el valor de la columna Ventas. Se produce un error porque la operación de concatenación solo admite columnas de texto y no numéricas.

Error de expresión en el panel de errores causado por intentar aplicar un operador And al texto y un número de la columna Ventas.

Posibles soluciones: antes de crear esta columna personalizada, cambie el tipo de datos de la columna Ventas por texto.

Tabla con la columna de ventas convertida de un tipo de datos numérico a un tipo de datos textual y la columna resultante que contiene ambas expresiones.

Valores anidados que se muestran como errores

Al trabajar con datos que contienen valores estructurados anidados (como tablas, listas o registros), a veces puede producirse el siguiente error:

Error para los valores anidados desencadenados por el servidor de seguridad de fórmulas.

Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.

Estos errores suelen producirse por dos motivos:

  • Cuando el firewall de privacidad de datos almacena en búfer un origen de datos, los valores anidados no escalares se convierten automáticamente en errores.
  • Cuando una columna definida con el tipo de datos Any contiene valores no escalares, estos valores se notificarán como errores durante la carga (como en un libro en Excel o el modelo de datos en Power BI Desktop).

Posibles soluciones:

  • Quite la columna que contiene el error o establezca un tipo de datos distinto de Any para dicha columna.
  • Cambie los niveles de privacidad de los orígenes de datos implicados a uno que les permita combinarse sin almacenarse en búfer.
  • Aplane las tablas antes de realizar una combinación para eliminar las columnas que contienen valores estructurados anidados (como tabla, registro o lista).