Forum Discussion

nicoolai's avatar
nicoolai
Frequent Visitor
2 years ago
Solved

Using column from one query in source of another query

I have a query where one of the columns in the results, is a list of table names.

I want to query ANOTHER source, using the distinct values of those tables, as a filter.

I have created the filter by 

Text.Combine(List.Distinct(FromSourceA[TableName]), "|")

This gives me a string with every tablename, seperated by |'s to create a regex.

My problem is using this value in the query string of another source.

I keep getting "Formula.Firewall: Query 'QueryName' (step 'StepName') references other queries or steps and so may not directly access a data source. Please rebuild this data combination." error when I do this.

I have tried to follow the following guide but not really been able to make it work in any way (maybe because I have to use the variable string in another source):

https://excelguru.ca/power-query-errors-please-rebuild-this-data-combination/

 

Any ideas on how I can solve this?

4 Replies

  • Short answer: Don't do that. You will never get this past the formula firewall monster.

     

    Long answer:  You need to keep everything inside a single partition, and you need to obfuscate your sources.  Lastly you may need to use Expression.Evaluate with scope bending.  (If these words sound like gibberish to you then I highly recommend you consume Ben Gribaudo's Primer.)

    • nicoolai's avatar
      nicoolai
      Frequent Visitor

      Thank you, that is some very good advice. I will go through that primer.

  • dufoq3's avatar
    dufoq3
    Community Champion

    Hi nicoolai, you can also turn off the firewall. Check Ignore... in Privacy tab.