Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hello community. Forgive me if my english is not good, english it's not my first language.
My current employer implemented Business Central (Web) for the ERP to run the company and I have my fair amounts of gaps on the API and structure side of BC, but there are 3 main APIs available when I connect Power BI to BC: WebServices (Legacy), Advanced APIs and Standard APIs v2.0.
And we have multiple companies so the reports should work as a consolidation solution.
The issue starts when I try to use a custom function to join multiple tables from any of the APIs. This is a query that result in the Firewall error:
let
Receta_fx = (Empresas as text) =>
let
Origen = Dynamics365BusinessCentral.ApiContentsWithOptions(null, null, null, null),
IGC_CONF = Origen{[Name="PRODUCTION"]}[Data],
TESTPBI = IGC_CONF{[Name=Empresas]}[Data],
WebServices = TESTPBI{[Name="WebServices"]}[Data],
Receta_table = WebServices{[Name="Receta",Signature="table"]}[Data],
RecetaProdBOMLine = Table.ExpandTableColumn(Receta_table, "RecetaProdBOMLine", {"Production_BOM_No", "Version_Code", "Line_No", "Type", "No", "Variant_Code", "Description", "Calculation_Formula", "Length", "Width", "Depth", "Weight", "Quantity_per", "Unit_of_Measure_Code", "Scrap_Percent", "Routing_Link_Code", "Position", "Position_2", "Position_3", "Lead_Time_Offset", "Starting_Date", "Ending_Date", "Receta", "Production_BOM_No_Link"}, {"Production_BOM_No", "Version_Code", "Line_No", "Type", "No.1", "Variant_Code", "Description.1", "Calculation_Formula", "Length", "Width", "Depth", "Weight", "Quantity_per", "Unit_of_Measure_Code.1", "Scrap_Percent", "Routing_Link_Code", "Position", "Position_2", "Position_3", "Lead_Time_Offset", "Starting_Date", "Ending_Date", "Receta", "Production_BOM_No_Link"})
in
RecetaProdBOMLine,
Source = Table.SelectColumns( Companies, {"Company"}),
CustFunct_Receta_fx = Table.AddColumn(Source, "Receta_Table_fx", each Receta_fx([Company]))
in
CustFunct_Receta_fx
And If I place the function as a separate query I still get the Formula Firewall error even when the privacy level is set Organizational in all queries.
let
Source = Companies,
#"Removed Other Columns" = Table.SelectColumns(Source,{"Company"}),
#"Invoked Custom Function" = Table.AddColumn(#"Removed Other Columns", "Receta", each Receta_fx_([Company]))
in
#"Invoked Custom Function"
The same for trying to join two queries from different APIs. Another strange thing is that the report can get refreshed on the power bi service.
If there is no solution then I'll need to build a table for each company for any of the tables needed. This will make it more difficult to upkeep on desktop if this is not resolved.
Solved! Go to Solution.
Hello @KedielSanchez
Thank you for reaching out to the Microsoft Fabric Forum Community. The Formula.Firewall error typically occurs when Power BI enforces data privacy levels between queries or data sources, especially when combining dynamic data access through custom functions or query parameters. Please consider the below steps:
If this information is helpful, please “Accept as solution” and give a "kudos" to assist other community members in resolving similar issues more efficiently.
Thank you.
Hi @KedielSanchez,
We are grateful for your participation in the Microsoft Fabric Community forum.
Could you share a few additional details to help narrow down the issue? so we can try to provide the solution.
1. Which version of Power BI Desktop are you using?
2. Are you connecting to Business Central Online or an on-premises instance?
3. Does the error occur with all APIs (WebServices, Advanced, Standard v2.0) or just specific ones?
Thanks.
Hi @v-priyankata ! Thanks for your message.
1. March 2025
2. Online
3. All APIs. It replicates the issue if I use a custom fuction
Hello @KedielSanchez
Thank you for reaching out to the Microsoft Fabric Forum Community. The Formula.Firewall error typically occurs when Power BI enforces data privacy levels between queries or data sources, especially when combining dynamic data access through custom functions or query parameters. Please consider the below steps:
If this information is helpful, please “Accept as solution” and give a "kudos" to assist other community members in resolving similar issues more efficiently.
Thank you.
May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.
Thank you.
Hi @KedielSanchez
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. If my response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank you.
Hi @KedielSanchez
I hope this information is helpful. Please let me know if you have any further questions or if you'd like to discuss this further. If this answers your question, please Accept it as a solution and give it a 'Kudos' so others can find it easily.
Thank you.
User | Count |
---|---|
84 | |
78 | |
70 | |
47 | |
41 |
User | Count |
---|---|
108 | |
52 | |
50 | |
40 | |
40 |