Forum Discussion
Formula.firewall
Recibo este error: "Formula.Firewall: ... (no importante).. hace referencia a otras consultas o pasos, por lo que es posible que no acceda directamente a un origen de datos"
He leído sobre otros que tienen el mismo problema, pero no puedo entender cómo resolver el problema en mi caso. Mi consulta se ve así con solo un paso:
dejar
Source = Table.AddColumn(Query1, "Custom", each Json.Document(Web.Contents("https://path-to-api/", [RelativePath=Text.Combine({Number.ToText([pages.id]), "/tickets"}), Headers=[Authorization=Bearer tokenid"]])))
en
Fuente
Mi suposición es que el error se produce porque hago referencia al punto final de la API y "pages.id" en la misma consulta. Pero no puedo entender cómo hacerlo en su lugar, ya que estoy usando "cada uno" y recorriendo la tabla. ¿Alguna idea?
Estoy haciendo referencia a otra consulta que también está haciendo una llamada a la API, cuando moví esa llamada a esta consulta también, el problema se resolvió.
4 Replies
- Syndicate_AdminAdministrator
@joakim1 , ¿Estás intentando la paginación?
recomendar la solución antigua, si pueden ayudar
https://community.powerbi.com/t5/Power-Query/Formula-Firewall-error/m-p/919550
https://community.powerbi.com/t5/Power-Query/Formula-Firewall-Error/m-p/1061155
https://community.powerbi.com/t5/Developer/Formula-Firewall-bug/m-p/1576612
recomienda
https://medium.com/@marktiedemann/how-to-do-pagination-in-power-query-430460c17c78
- Syndicate_AdminAdministrator
Gracias por la respuesta, traté de usar una función en su lugar como se sugirió en el primer artículo para que mi función se vea así:
(ticketId) => let Source = Web.Contents("https://path-to-api/", [RelativePath=Text.Combine({NumberToText(ticketId, "/tickets"}), Headers=[Authorization="Bearer-token"]]) in SourceY luego la consulta original cambió a esto
let Source = Table.AddColumn(Query2, "Custom", each JsonDocument(GetConnectedTicket([pages.id]))) in Sourcepero sigo recibiendo el mismo error, ¿alguna idea de por qué?
- Syndicate_AdminAdministrator
Gracias por la respuesta, traté de usar una función en su lugar como se sugirió en el primer artículo para que mi función se vea así:
(ticketId) => let Source = Web.Contents("https://path-to-api/", [RelativePath=Text.Combine({NumberToText(ticketId, "/tickets"}), Headers=[Authorization="Bearer-token"]]) in SourceY luego la consulta original cambió a esto
let Source = Table.AddColumn(Query2, "Custom", each JsonDocument(GetConnectedTicket([pages.id]))) in Sourcepero sigo recibiendo el mismo error, ¿alguna idea de por qué?
- Syndicate_AdminAdministrator
Estoy haciendo referencia a otra consulta que también está haciendo una llamada a la API, cuando moví esa llamada a esta consulta también, el problema se resolvió.