- El firewall de Power Query evita que datos confidenciales se filtren involuntariamente entre diferentes fuentes de origen.
- Los errores surgen principalmente por el uso de niveles de privacidad incompatibles o por mezclar referencias a otras consultas con accesos directos a datos.
- La resolución puede lograrse ajustando los niveles de privacidad, reestructurando la consulta en una sola partición o creando consultas intermedias.
Si llevas un tiempo usando Power Query, seguro que en algún momento te has topado con ese muro invisible que te lanza un error críptico y te deja totalmente desencajado. De repente, el sistema te dice que hay un problema de firewall de privacidad y que no puede combinar tus datos. Es el maldito y lamentablemente habitual error Formula.Firewall en Power Query. Es una situación frustrante, pero tiene una explicación lógica basada en la seguridad de tu información.
Este mecanismo no está ahí para hacernos la vida imposible a los analistas, sino que actúa como un guardián de la privacidad. Su misión principal es evitar que, sin darnos cuenta, enviemos datos sensibles de una fuente privada hacia un servidor externo o una API pública. En este artículo vamos a destripar el funcionamiento de este sistema para que sepas exactamente cómo diagnosticar y solucionar estos fallos sin tirar la toalla.
¿Qué es exactamente el Firewall de Privacidad?
En esencia, el Firewall de Privacidad de Datos es un filtro que impide que Power Query mueva información de un origen a otro de forma inadvertida. Para entender por qué es vital, debemos hablar del concepto de plegado de consultas (Query Folding). El plegado es la capacidad de Power Query de traducir tus pasos de transformación (filtros, uniones, etc.) al lenguaje nativo del origen, como SQL u OData, para que el servidor haga el trabajo pesado y no tu ordenador.
El error Formula.Firewall en Power Query y otros similares aparecen cuando el optimizador decide que la forma más rápida de ejecutar una tarea es enviar datos de una fuente a otra. Imagina que tienes una lista de números de seguridad social en un servidor interno y quieres cruzarlos con una API externa. Si el firewall no existiera, Power Query podría enviar esos datos privados a la API para realizar la unión, provocando una fuga de datos masiva y peligrosa.
El funcionamiento interno: Particiones y Reglas
Para controlar el flujo de datos, el firewall divide las consultas en bloques llamados particiones. Una partición puede ser desde un solo paso hasta un grupo de pasos de varias consultas. La regla de oro es sencilla pero traicionera: una partición puede acceder a orígenes de datos compatibles o referenciar a otras particiones, pero jamás puede hacer ambas cosas al mismo tiempo.
Cuando una partición llama a otra, el firewall interviene mediante una función llamada Value.Firewall, que actúa como un portero decidiendo si los datos pueden pasar. Si intentas saltarte este control accediendo directamente a un origen de datos mientras haces referencia a otra consulta, el sistema lanzará el famoso error indicando que debes reconstruir la combinación de datos.
Tipos de error Formula.Firewall en Power Query
Existen principalmente dos variantes de este error que pueden volvernos locos:
- Niveles de privacidad incompatibles: Ocurre cuando intentas usar dos fuentes en una misma partición que no comparten el mismo nivel (por ejemplo, una Privada y otra Pública). Para que funcione, ambas deberían ser Públicas u Organizativas.
- Referencia mixta: Sucede cuando un paso intenta acceder a un origen de datos y, a la vez, utiliza el resultado de otra consulta. Aquí es donde el firewall detecta que no puede garantizar la seguridad y bloquea el proceso.
Error Formula.Firewall en Power Query
Estrategias para solucionar el problema
Dependiendo de cuánto confíes en tus datos y del entorno donde trabajes, tienes varias rutas para solucionar el error Formula.Firewall en Power Query. La más rápida, aunque la menos recomendada en entornos corporativos estrictos, es ir a las opciones de privacidad y marcar la casilla de omitir los niveles de privacidad. Esto elimina el firewall por completo, mejorando el rendimiento pero eliminando la protección contra fugas.
Si prefieres mantener la seguridad, una técnica muy efectiva es consolidar todo en una sola consulta. En lugar de tener una consulta para el parámetro y otra para la API, escribe todo el código M en un único bloque. De esta forma, todo ocurre dentro de una misma partición y, siempre que los niveles de privacidad sean compatibles, el error desaparecerá porque no hay referencias externas que el firewall deba interceptar.
Otra alternativa ante el error Formula.Firewall en Power Query ingeniosa es crear una consulta intermedia. Por ejemplo, si parametrizas una ruta de archivo en una celda de Excel y eso te da error, crea una consulta en blanco que recoja el parámetro y cargue el archivo en un solo paso. Luego, usa esa consulta intermedia como el origen de tu consulta final. Este truco permite que el firewall procese la carga de datos de forma aislada, evitando la colisión de fuentes que provoca el fallo.
Ajustes manuales de permisos
En casos específicos, como cuando conectas Excel con APIs mediante tokens de portador (bearer tokens), el problema reside en que la URL de la API y el origen de los datos tienen permisos discordantes. La solución aquí es entrar en la configuración de origen de datos y cambiar manualmente el nivel de privacidad de ‘Privado’ a ‘Público’ u ‘Organizativo’ según sea el caso. Una vez que ambos orígenes hablan el mismo lenguaje de privacidad, la combinación de datos fluye sin interrupciones.
Para evitar el error Formula.Firewall en Power Query hay que entender que el sistema prioriza la seguridad sobre la comodidad. Ya sea unificando pasos en una sola consulta, ajustando los permisos de las fuentes o creando capas intermedias para engañar al motor de particiones, lo importante es evitar que una sola partición intente gestionar fuentes y referencias simultáneamente. Al aplicar estas técnicas, no solo eliminamos el molesto mensaje de error, sino que optimizamos la estructura de nuestros modelos de datos para que sean más robustos y seguros.
Redactor especializado en temas de tecnología e internet con más de diez años de experiencia en diferentes medios digitales. He trabajado como editor y creador de contenidos para empresas de comercio electrónico, comunicación, marketing online y publicidad. También he escrito en webs de economía, finanzas y otros sectores. Mi trabajo es también mi pasión. Ahora, a través de mis artículos en Tecnobits, intento explorar todas las novedades y nuevas oportunidades que el mundo de la tecnología nos ofrece día a día para mejorar nuestras vidas.