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...