Forum Discussion

Baskar's avatar
Baskar
Resident Rockstar
8 years ago

Formula.Firewall: (step 'Invoked Custom Function') references other queries

Thanks Advanced.

 

Dear community friends,

 

I have spend more then 10 days on this issue, but my badluck still working for solution.

Issue : 

       Formula.Firewall: Query 'Flow Main (2)' (step 'Invoked Custom Function') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

 

Source : 

1. Tabular Cube [ Table1,Table2]

2. OLE BD function.

 

Pulling dta into OLE DB connection from Tabular cube with paramater to populate data.

 

Step 1:

  Createing dataset from Tabular with merging Table1 and Table2.

Step 2:

  Created function using OLE DB with paramater.

Step 3:

  Created refrence of the Step 1 and used Invoke function (Step 2 function) to get data.Here is the place am getting this error.

Formula.Firewall: Query 'Flow Main (2)' (step 'Invoked Custom Function') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

 

Note :

   I can't ignore the privacy policy from settings.

 

ImkeF MattAllington 

5 Replies

  • v-frfei-msft's avatar
    v-frfei-msft
    Community Support

    Hi Baskar,

     

    Based on my test, I can reproduce a similar error as yours. Clearly we cannot combine an external data source with another query. Please check the blog to solve your issue.

     



    At first, I create a parameter that contains file path/name and let the source is equal to the parameter. Then the M code is like this.

     

    let
        Source = Folder.Files(Parameter1),
        #"Invoke Custom Function1" = Table.AddColumn(Source, "Transform File from C (2)", each #"Transform File from C (2)"([Content])),
        #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", "Source.Name"}),
        #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", "Transform File from C (2)"}),
        #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from C (2)", Table.ColumnNames(#"Transform File from C (2)"(#"Sample File (2)"))),
        #"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",{{"Source.Name", type text}, {"ID", Int64.Type}, {"name", type text}}),
        #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"name"},#"Transform Sample File from C",{"name"},"Transform Sample File from C",JoinKind.LeftOuter)
    in
    #"Merged Queries"

    And based on the above blog, I take the steps and change the M code as below.

     

    let
        Source = testlist,
        #"Invoke Custom Function1" = Table.AddColumn(Source, "Transform File from C (2)", each #"Transform File from C (2)"([Content])),
        #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", "Source.Name"}),
        #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", "Transform File from C (2)"}),
        #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from C (2)", Table.ColumnNames(#"Transform File from C (2)"(#"Sample File (2)"))),
        #"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",{{"Source.Name", type text}, {"ID", Int64.Type}, {"name", type text}}),
        #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"name"},#"Transform Sample File from C",{"name"},"Transform Sample File from C",JoinKind.LeftOuter)
    in
    #"Merged Queries"

    Then we can get the result without no issue. If you still get errors, please share your Power Query code here.

     

    Regards,

    Frank

    • Baskar's avatar
      Baskar
      Resident Rockstar

      Thanks for your response v-frfei-msft.

       

      Here i have to use invoke function to get data from OLE DB connection. It is PI source.