I am using the Query Editor in Power BI Desktop, with a file in "Import" mode.
I have a query "Foo", the first step of which is to pull data from a SQL Server database (= Sql.Database("SERVER", "Database", "[Query = "SELECT..."). The SQL query is very slow -- it takes several minutes to complete.
I also have query "Foo.1", the first step of which is to reference the "Foo" query (= #"Foo"). And, I believe the following also applies if I have a query "Foo.2" which appends the "Foo" query with something else.
When in the Query Editor I make modifications to the "Foo.1" query (only), then click "Close & Load", then the "Refresh" screen pops up and, for "Foo.1" only, it says "Evaluating..." for a while, then is says "Waiting for SERVER/Database..." for a while, then it loads all the rows into the data model in the PBIX file.
That is, it seems to be running my very slow SQL query against the source database. But why?! I think only the "Foo" query should run the very slow query against the source database. When modifying/refreshing downstream queries like "Foo.1" and "Foo.2" (which use reference/append/etc. to get data from "Foo"), shouldn't Power BI Desktop simply refer to the "Foo" data that is already there, already loaded into the PBIX file? Why run the very slow query against the database again?
It slows down my development effort, having to wait every time I change a downstream query. And running the query eats up a lot of resources on my server. (Oh, and it doesn't even actually refresh the data with fresh data from the database! Because I never refreshed the original "Foo" query!)
Is there some way I can prevent this, now? Or, could Power BI be "fixed" to prevent this? (Or, is this necessary for some reason that I don't see?) Thanks!