Forum Discussion

WZorn's avatar
WZorn
Helper III
1 year ago
Solved

Power Query Partitions and Appending Data

I get the error below when I initiate a data refresh from Power BI Desktop.  It's not consistent though.  If I go into Power Query, peform a refresh and then go back to Power BI Desktop and refresh, it works.

 

ERROR:

"Query 'EMPLOYEE' (step 'Removed Duplicates') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination."

 

I found Chris Webb's BI Blog which has an excellent YouTube video describing what causes this error:

https://blog.crossjoin.co.uk/tag/formula-firewall/ 

In here he describes the golden rule of partiations:  A partition may either access compatible data sources, or reference other partitions, but not both.

 

I can't be sure, but I believe the m-code line that has to be causing this error is in line 5.  Where #"Removed Other Columns" may be considered a compatible data source and #"PRIMARY EMPLOYEE TABLE" is another query and would be considered a partition.

1.  Source = Oracle.Database("DB", [HierarchicalNavigation=true]),
2.  LAW_PROD = Source{[Schema="PRD"]}[Data],
3.  EMPLOYEE1 = LAW_PROD{[Name="EMPLOYEE"]}[Data],
4.  #"Removed Other Columns" = Table.SelectColumns(EMPLOYEE1,{"EMPLOYEE", 5.  "LAST_NAME", "FIRST_NAME"}),
5.  #"Appended Query" = Table.Combine({#"Removed Other Columns", #"PRIMARY EMPLOYEE TABLE"}),
...
    in
        #"Removed Duplicates"

 

My question is how would you rewrite this to keep from violating the data source/partition rule?

  • You can't - in this query.  Create another query and do the append there. Or set the sensitivity level to none/ignore.

2 Replies

  • You can't - in this query.  Create another query and do the append there. Or set the sensitivity level to none/ignore.

    • WZorn's avatar
      WZorn
      Helper III

      That's exactly what I ended up doing.  I was coming back here to comment on it.  I created a new query only for the join and that resolved the issue.  I definitely don't want to set the sensitivity level to ignore.  

       

      Thanks!