error columna no encontrada

Cómo resolver el error “Column not found / does not exist in the rowset” en Power BI

El error error columna no encontrada («The ‘<col>’ column does not exist in the rowset») aparece cuando una transformación en Power Query solicita una columna que no está presente en la tabla que devuelve la fuente en ese momento. Es un fallo común que detiene los refrescos automáticos y deja dashboards sin datos actualizados. Esta guía explica por qué ocurre, cómo diagnosticarlo y ofrece patrones M y prácticas operativas para que tus consultas sean más resistentes a cambios de esquema.

Por qué ocurre el error «error columna no encontrada» y cuándo suele aparecer

Power Query ejecuta los pasos de la consulta en orden; cada paso puede depender de nombres de columna concretos. Si una etapa posterior (por ejemplo Rename, RemoveColumns, Expand o Pivot) pide una columna que la etapa anterior ya no devuelve, la consulta falla.

Las causas habituales incluyen:

  • Columnas renombradas o eliminadas en la fuente.
  • Pasos automáticos generados por el editor (Promoted Headers, Changed Type, Expand) que mantienen referencias antiguas.
  • Operaciones pivot/unpivot o expansiones que esperan nombres dinámicos (por ejemplo columnas por mes o por categoría recién añadida).
  • Discrepancias entre Power BI Desktop y Power BI Service por diferencias en el motor de ejecución (mashup engine), el gateway o cachés.

Para entender mejor la gestión de errores en Power Query y las técnicas básicas para capturarlos, consulta la documentación oficial: Power Query: dealing with errors.

Diagnóstico rápido: identifica el paso que falla

  1. Refresca la consulta en Power BI Desktop. Si falla allí, el error es reproducible localmente y se puede depurar con más facilidad.
  2. Si en Desktop no falla pero sí en Power BI Service, revisa el historial de refresco en el servicio y descarga el PBIX desde el Service para abrirlo localmente. A menudo el problema se debe a diferencias del motor, del gateway o a cachés desactualizados.
  3. Abre el Advanced Editor de la consulta y localiza el paso que causa el error: el historial de pasos en el editor suele indicar en cuál ocurre.

Si el error solo ocurre en el servicio, Microsoft recomienda comprobar versiones del gateway y limpiar cachés antes de seguir. Más detalles en: Troubleshoot refresh scenarios – Power BI.

Seis soluciones prácticas y patrones M resistentes

Aplicar estos patrones reduce drásticamente la probabilidad de que una columna faltante rompa el flujo de datos.

1) Selección tolerante: Table.SelectColumns + MissingField

Si necesitas forzar un conjunto de columnas pero no todas siempre están presentes, usa Table.SelectColumns con el parámetro MissingField:

Table.SelectColumns(tabla, {"ColA","ColB"}, MissingField.Ignore)
Table.SelectColumns(tabla, {"ColA","ColB"}, MissingField.UseNull)

La primera opción ignora la ausencia; la segunda añade la columna con null si falta. Consulta la referencia técnica: Table.SelectColumns – Power Query M.

2) Comprobar existencia antes de actuar

Antes de renombrar, eliminar o transformar una columna, verifica que exista con:

List.Contains(Table.ColumnNames(miTabla), "MiCol")

Si la comprobación devuelve false, salta la operación o añade la columna vacía para mantener el flujo.

3) Capturar errores puntuales: try … otherwise

Encapsula operaciones que pueden fallar con try ... otherwise y define un resultado alternativo (por ejemplo devolver la tabla sin cambios o con columnas añadidas). Esto evita que un único paso intermitente detenga todo el refresco.

4) Lectura segura de campos: Record.FieldOrDefault

Cuando trabajes con registros (rows) y quieras acceder a un campo que podría no existir, usa Record.FieldOrDefault para devolver un valor por defecto en vez de lanzar un error.

5) Añadir columnas faltantes cuando sean requeridas

Si pasos posteriores requieren columnas específicas, crea columnas vacías con Table.AddColumn antes de esas transformaciones. De este modo el pipeline continúa aunque la fuente no entregue todas las columnas esperadas.

6) Evita referencias posicionales y pasos automáticos frágiles

No dependas de la posición de columnas (índices). Desactiva o edita el paso automático Changed Type si introduce nombres de columna que puedan no existir; documenta y versiona los cambios de esquema en la fuente para coordinar con quienes proveen los datos.

Qué hacer si funciona en Desktop pero falla en Power BI Service

Cuando un PBIX refresca en Desktop pero falla en el servicio, las causas comunes son diferencias en el motor de ejecución (mashup engine), versiones del gateway, credenciales o cachés. Pasos recomendados:

  • Descarga el PBIX desde el servicio y ábrelo en Desktop para comparar comportamientos.
  • Limpia la caché de datos en Desktop (File > Options > Data Cache) y vuelve a publicar si hace falta.
  • Si usas orígenes on-premises, actualiza el gateway y asegúrate de que el servicio lo esté usando.

Estos pasos están detallados en la guía de resolución de refrescos de Microsoft: Troubleshoot refresh scenarios – Power BI.

Buenas prácticas operativas

  • Comunica y versiona cambios de esquema con los equipos que proveen datos.
  • Prueba cambios con un conjunto de muestra antes de desplegar en producción.
  • Mantén el gateway actualizado y coordina despliegues en entornos on‑premises; esto es especialmente importante en equipos con infraestructuras distribuidas.
  • Documenta transformaciones críticas en el Advanced Editor para facilitar auditoría y reparación.

En la mayoría de los casos, aplicar los patrones anteriores (MissingField, comprobaciones con Table.ColumnNames, try ... otherwise, Record.FieldOrDefault y añadir columnas faltantes) elimina la causa raíz del error y hace que las consultas sean resistentes a cambios de esquema. Si después de estos pasos el servicio sigue fallando, revisa las versiones del gateway, las credenciales y el historial de refresco para solicitar soporte con información precisa.

Para ampliar la referencia sobre manejo de errores en Power Query y ver ejemplos prácticos, consulta la documentación oficial de Microsoft enlazada en este artículo.

0 thoughts on “Cómo resolver el error “Column not found / does not exist in the rowset” en Power BI”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *