I am getting the following error:
Formula.Firewall: Query 'Query1' (step 'Added Custom') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.
In my first query I am accessing an API to get a list of URLs. In the second query it uses this list of URLs to then go back to the API and request all of the data.
I understand what the complaint is, but how do I get around it? I am actually always hitting the same domain for both queries, but maybe it doesn't know that. I suppose it wouldn't know that until runtime.
I have read that in Excel PowerQuery you can go to:
File=>Options and Settings=>Options and set the Ignore Privacy Levels option.
But no such option seems to exist in Powe BI Desktop. Does anyone know what I'm doing wrong or how I can get around this restriction, it seems like a common usage scenario?
Solved! Go to Solution.
Ken Puls blogged about this here
The privacy settings are designed to prevent accidentally sending sensitive data somewhere you shouldn't. Eg. Imagine you have a table in SQL with staff details including salaries. You write a query that joins this data to Facebook data (for some reason). The privacy settings will stop the private data in SQL being sent to the open data source, Facebook. As long as you don't have any such queries, turning off the privacy settings will have no impact. Eg, as long as all your data sources are internal to your organisation.
Hi @markive , I had the same issue as you in 2016. Fortunately in 2020 there is Privacy Levels option which can be changed. If set it to "Ignore the Privacy Levels and potentially improve performance" the issue becomes resolved.
For anyone still experiencing this issue, under File > Options, select Privacy, and if it's appropriate, select Ignore privay levels. Even after following all the other suggestions referenced in this thread, I still got an error when refreshing. It worked when I was in the Query Editor just fine (no errors), but refreshing from the regular report view would fail.
The advice provided in this blog post now appears to be running contrary to experience in Power BI.
A query that contains all the Web.Contents calls a query needs leads it to function correctly. The splitting of the different Web.Contents calls into seperate queries before being merged into one final query leads an error to be thrown.
In case it helps others I ran into this issue after adding a non-supported/unofficial custom connector into PBI desktop and then trying to run queries against SharePoint files.
Removing the custom connector from the local Documents > Power BI Destop > Custom Connectors folder got rid of the issue for me. (Note I didn't have any quries using the custom connector, just the fact it was there seemed to trigger the firewall thing).
I did this privacy level change, it solved for Power BI Desktop refreshes, but web refresh is still failing due to the same error.
This is the article previously referenced in this thread:
I confess I had to read it a few times to get it.
Basically, each query needs to be loaded into a staging query first. Then, you can combine these staging queries.
All of my data retrievals are now done in external functions
However, yet again, I had a problem with this frustrating error. I called a standard function to return some parameters from a parameters sheet. Suddenly I got the Firewall error.
Given that I have written some VERY complicated scripts which retrieved data from various sources and worked no problem but written other scripts which are not (seemingly) as complicated but have failed with this error, I am still of the opinion that this is Microsoft's catch-all, can't cope error message!
Also, I sometimes get this error when stepping through the code (in the "advanced editor") but not when running the script, explain that!
I've just had it happen again ... twice!
I edited an existing script.
I didn't reference any additional (external) data.
I took a column creation out of a group statement and created it in the next step, the idea being to check a result from the group creation, something you can't do inside the group creation.
I also added a step inside an existing IF statement to check if the new column (which can be null or a record) was null before checking the contents of the column.
That's it, that's all I changed.
It failed with the usual error.
I changed four other scripts (which reference the same data but output different results) in the same way and they worked fine.
Even more bizarrely, one other script which I changed in the same way worked fine in the "Advanced Editor" and then failed when I quit back to Excel and ran the script!
This all adds weight to my belief that this really is a default "I can't cope" error message.
What's even more frustrating is if you read the actual error message it states "references other queries or steps" ... every step references other steps, so this is a meaningless error message!
It also means that I have literally no idea what the problem is or how to resolve it.
You're right, this is a misleading "can't cope" messagem for a Power BI bug.
If this issue was only due to referencing other queries, nobody would be able to solve it, as many have, by using staging queries, custom functions, or changing the steps order.
This is madness.
I have tried using staging queries, and also making data retrieval in custom functions. None worked.
I'll probably have to start using a data lake to make simple merges between data sources, only because of this issue.
Shabnam Watson demos Incremental refresh & Hybrid Tables and Leila Etaati demos Charticulator.
Click here to read more about the April 2022 updates!
Mark your calendars and join us on Thursday, May 26 at 11a PDT for a great session with Ted Pattison!