10 de julio de 2025

🛠️ Error Formula.Firewall en Power Query: ¿Qué es y cómo solucionarlo?

Power Query es una herramienta poderosa para transformar y combinar datos en Excel o Power BI. Sin embargo, en algunos escenarios comunes, puedes encontrarte con un mensaje frustrante:
"Formula.Firewall: Consulta 'X' (paso 'Y') references other queries or steps, so it may not directly access a data source."



❓ ¿Qué significa el error Formula.Firewall?

Este error aparece cuando Power Query detecta que estás combinando datos de diferentes orígenes (por ejemplo, archivos, bases de datos o servicios web), sin que se respete el aislamiento de privacidad entre ellos.

En otras palabras, Power Query intenta proteger tus datos y no permite que una consulta acceda directamente a otra fuente si antes no ha evaluado correctamente su nivel de privacidad.

⚠️ Solución 1: Desactivar los niveles de privacidad

Si no te importa asumir ciertos riesgos (por ejemplo, en entornos de pruebas o personales), puedes desactivar los niveles de privacidad desde las opciones de Power Query:

  • Archivo > Opciones y configuración > Opciones de consulta > Privacidad > Ignorar niveles de privacidad

🚫 Advertencia: Esta opción no es segura para entornos corporativos o cuando trabajas con múltiples orígenes de datos. Puede exponer información sensible de una fuente a otra sin control.


📌 Escenario típico que genera el error

Imagina que tienes una hoja de Excel con una tabla llamada Tabla1, que contiene las siguientes columnas:

  • Ruta: Carpeta donde está ubicado el archivo.

  • Archivo: Nombre del archivo que deseas cargar.

Y sigues estos pasos:

  1. Creas una consulta para obtener la ruta.

  2. Creas otra consulta para obtener el nombre del archivo.

  3. Luego intentas abrir el archivo combinando ambos valores en una tercera consulta:


Excel.Workbook(File.Contents(Ruta & Archivo), null, true)

✅ Solución 2 : Consolidar en una sola consulta

Para evitar el error, puedes combinar la ruta y el nombre del archivo dentro de una única consulta:


let
    Origen = Excel.CurrentWorkbook(){[Name="Tabla1"]}[Content],
    RutaCompleta = Origen{0}[Ruta] & Origen{0}[Archivo]
in
    RutaCompleta



Luego, simplemente usa esta consulta como parámetro:

Excel.Workbook(File.Contents(Parametros), null, true)


🧠 Solucón 3 avanzada: Todo en una sola consulta

Si prefieres no usar una consulta intermedia, también puedes hacerlo todo en una sola definición:



let
    Tabla = Excel.CurrentWorkbook(){[Name="Tabla1"]}[Content],
    Ruta = Tabla{0}[Ruta],
    Archivo = Tabla{0}[Archivo],
    Fuente = Excel.Workbook(File.Contents(Ruta & Archivo), null, true)
in
    Fuente

Esta es una solución clara, efectiva y sin conflictos de privacidad.


🎯 Conclusión

El error Formula.Firewall en Power Query puede parecer complicado al principio, pero tiene soluciones claras y seguras. La clave está en respetar la privacidad entre orígenes de datos y estructurar tus consultas de manera que no se rompa el aislamiento entre ellas.

¿Te ha pasado este error? ¿Cómo lo resolviste?
Déjamelo saber en los comentarios 👇


¿Quieres ver un video explicativo de este tema paso a paso? ¡Muy pronto lo subiré a mi canal de YouTube!
🔔 Suscríbete para no perderte ningún tutorial.

Si te gustó, síguenos en YouTube  para recibir nuestras actualizaciones y trucos
--> Leer más...