Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Power Query, puede encontrar dos tipos de errores:
- Errores de nivel de etapa
- Errores a nivel de celda
En este artículo se proporcionan sugerencias sobre cómo corregir 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 a nivel de etapa
Un error a nivel de paso impide que se cargue la consulta y muestra los componentes de error en un panel amarillo.
- 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 La columna "Columna" de la tabla no se encontró.
- Detalle del error: sección directamente después de la cadena Details: . En el ejemplo anterior, el detalle del error es Column.
Power Query Online muestra detalles ligeramente diferentes. El detalle del error sigue siendo Column, pero el mensaje de error en línea también contiene el motivo del error (Expression.Error) y el código de error (10224).
Errores comunes de 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 Mostrar detalles , si está disponible, para mostrar más detalles sobre el error.
No se encuentra el origen: DataSource.NotFound
Este error se produce normalmente 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 movió a un lugar diferente.
Ejemplo: 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 una clase DataSource.NotFound porque no hay ninguna unidad D en su entorno.
Posibles soluciones: puede cambiar la ruta de acceso del archivo de texto a una ruta de acceso a la que ambos usuarios tienen acceso. Como usuario B, puede cambiar la ruta de acceso del archivo para que sea una copia local del mismo archivo de texto.
No se encontró la columna de la tabla.
Este error se desencadena normalmente cuando un paso hace una referencia directa a un nombre de columna que no existe en la consulta.
Ejemplo: Tiene una consulta de un archivo de texto donde uno de los nombres de columna era Column. 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 Column porque se cambió manualmente a Date. Power Query no puede encontrar un encabezado de columna denominado Columna, por lo que no puede cambiar el nombre de ninguna columna. Muestra el error que se muestra en la imagen siguiente.
Posibles soluciones: hay varias soluciones para este caso, pero todas dependen de lo que quieras hacer. En este ejemplo, dado que el encabezado de columna Date correcto ya procede del archivo de texto, puede quitar el paso que cambia el nombre de la columna. Este cambio permite que la consulta se ejecute sin este error.
Otros errores comunes de nivel de paso
Al combinar o fusionar datos entre varios orígenes de datos, es posible que reciba un error Formula.Firewall como el que se muestra en la imagen siguiente.
Este error se produce por varias razones, como los niveles de privacidad de datos entre fuentes de datos o la forma en que estas fuentes de datos se combinan o fusionan. Para obtener más información sobre cómo diagnosticar este problema, vaya a Firewall de privacidad de datos.
Error de nivel de celda
Un error de nivel de celda no impide 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.
Nota:
Las herramientas de perfilado de datos pueden ayudarle a identificar más fácilmente los errores a nivel de celda utilizando la función de calidad de columna. Para obtener más información, vaya a Herramientas de generación de perfiles de datos.
Control de errores en el nivel de celda
Cuando se producen errores de nivel de celda, Power Query proporciona un conjunto de funciones para controlarlas quitando, reemplazando o manteniendo los errores.
En las secciones siguientes, los ejemplos proporcionados usan la misma consulta de ejemplo que el punto de inicio. En esta consulta, tiene una columna Sales con una celda que presenta un error debido a una conversión incorrecta. 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.
Eliminación de 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.
El resultado de esa operación proporciona la tabla siguiente.
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.
En el cuadro de diálogo Reemplazar errores , escriba el valor 10 porque desea reemplazar todos los errores por el valor 10.
El resultado de esa operación proporciona la tabla siguiente.
Conservar errores
Power Query puede servir como una buena herramienta de auditoría para identificar las filas con errores, incluso si no corrige los errores. En esta situación, mantener errores puede ser útil. Para mantener las filas que tienen errores, seleccione primero la columna que contiene errores. En la pestaña Inicio , en el grupo Reducir filas , seleccione Mantener filas. En el menú desplegable, seleccione Mantener errores.
El resultado de esa operación proporciona la tabla siguiente.
Errores comunes de nivel de celda
Al igual que con cualquier error de nivel de etapa, se recomienda examinar detenidamente los motivos del error, los mensajes de error y los detalles del error proporcionados a nivel de celda para comprender lo que está causando los errores. En las secciones siguientes se describen algunos de los errores de nivel de celda más frecuentes en Power Query.
Errores de conversión de tipos 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: Tiene una consulta que incluye una columna denominada Sales. 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 produce un error.
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 error Replace para proporcionar un valor para los valores na que provocan 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 produce un error.
Ejemplo: quiere crear una columna personalizada para la consulta mediante la creación de una cadena de texto que contenga la frase "Ventas totales: " 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.
Posibles soluciones: antes de crear esta columna personalizada, cambie el tipo de datos de la columna Ventas por texto.
Valores anidados que se muestran como errores
Al trabajar con datos que contienen valores estructurados anidados (como tablas, listas o registros), a veces podría producirse el siguiente error:
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 escalados se convierten automáticamente en errores.
- Cuando una columna definida con el
Any
tipo de datos contiene valores no escalados, estos valores se notifican como errores durante la carga (por ejemplo, en un libro de Excel o en el modelo de datos en Power BI Desktop).
Posibles soluciones:
- Quite la columna que contiene el error o establezca un tipo de datos diferente para dicha columna.
- Cambie los niveles de privacidad de los orígenes de datos implicados a uno que permita combinarse sin necesidad de almacenamiento 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).