Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Error de R Scripts y Firewall

He estado intentando trabajar con R en Power Query, pero sigo en el error habitual del firewall:

Formula.Firewall: la consulta 'fDeals' (paso 'Ejecutar script R') hace referencia a otras consultas o pasos, por lo que es posible que no tenga acceso directamente a un origen de datos. Vuelva a generar esta combinación de datos.

Estoy familiarizado con este error fuera de R y he estado usando habitualmente consultas de puente o almacenamiento provisional para cargar primero mis datos y luego usarlos como referencias para fusiones y cualquier cosa que implique varios orígenes. Pero este error parece ser particularmente obstinado cuando se trata de scripts R.

Soy consciente de que esto se puede 'resolver' cambiando la configuración de privacidad. Pero, ¿es posible resolver este error sin cambiar la configuración del nivel de privacidad? He visto otros mensajes aquí de personas que tenían el mismo problema y no encontré a nadie que lo resolviera sin cambiar el nivel de privacidad.

He probado el método 2 de esta solución: https://sqlitybi.com/formula-firewall-error-referencing-queries-r-python-scripts/

Pero eso no funcionó. Independientemente de si estoy ejecutando una nueva consulta, o una consulta realizada a través de una función, en el momento en que agredo el script de R (cualquier script de R! incluso uno vacío) obtengo de nuevo el error de firewall. Por lo tanto, incluso con ambos, simplemente dejando el script R vacío:

Dejar
Fuente: fDeals,
"Ejecutar secuencia de comandos R" - R.Execute ("- 'dataset' contiene los datos de entrada para este script",[dataset-Source])
En
"Ejecutar guión R"

---------------------

Dejar
Fuente : fDeals_function(),
"Ejecutar secuencia de comandos R" - R.Execute ("- 'dataset' contiene los datos de entrada para este script",[dataset-Source])
En
"Ejecutar guión R"

R en sí parece considerarse como una referencia a "otras consultas o pasos", lo que significa que invocarlo dentro de cualquier consulta se ejecuta automáticamente en el error de firewall. ¿Sería posible invocar R fuera de una consulta y, a continuación, hacer referencia a eso? ¿O podría ayudar colocar el script de R en una función?

No me importa cambiar los niveles de privacidad, pero me irrita que no puedo encontrar una solución diferente.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola

2 años después, mismo problema... ¿Alguien tiene alguna solución?

Por cierto, también probé la técnica prescrita aquí, y en algunos de los blogs, de envolver la consulta de origen original en Function y luego llamar al script R en una nueva consulta basada en la función. A continuación se muestra mi diagrama de dependencia de consulta.

nirmit27_0-1646211669489.png

Gracias

Anonymous
Not applicable

Estoy teniendo exactamente el mismo problema. Parece que R se trata como un origen de datos externo y esto realmente dificulta la utilidad de R en Power BI. Tengo una tabla a la que quiero agregar columnas basadas en algún análisis realizado en un script de R, pero parece que no hay manera de que esto funcione ya que no puedo cambiar la configuración de privacidad (y no me gustaría incluso si pudiera)

Realmente espero que alguien encuentre una solución aquí

v-xuding-msft
Community Support
Community Support

Hola @Feldrin ,

Puede hacer referencia al blog: Errores de Power Query: vuelva a generar esta combinación de datos para probarlo. El artículo es hace mucho tiempo. Espero que te pueda ayudar.

Best Regards,
Xue Ding
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Leí el artículo de Excel Guru, pero solo he tenido éxito parcial.

Para algunas consultas funciona si muevo el script de R a una consulta anterior (la consulta de ensayo) que carga los datos desde el CSV, en lugar de colocar el script de R en una consulta posterior que se conecta al área de ensayo. Lo cual es extraño, porque eso no es para lo que estoy usando consultas de ensayo.

Esto funciona, pero solo siempre y cuando mis consultas de ensayo contengan todos los datos correctos. Si quiero usar R en una consulta posterior, no parece haber una solución de trabajo para evitar el error de firewall, execpt para desactivar todo el asunto de la privacidad.

Hola @Feldrin ,

A veces ayuda a transformar la consulta en una función (sin un parámetro) en su lugar.

Vaya al editor avanzado y agregue un " () ?>" delante del código existente (así antes de la "let").

A continuación, debe modificar las consultas dependientes agregando paréntesis después de la referencia de consulta.
Por lo tanto, si la consulta R (que anteriormente devolvía una tabla) se denomina "MyRQuery", entonces se hace referencia a ella como "MyRQuery()".
Esto llama a la función sin un parámetro y, por lo tanto, devuelve el resultado original.

Esto a veces "engaña" el motor y no será comprobado por la lógica del cortafuegos.

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors