Forum Discussion
New calculated table in Power Query doesn't refresh if Source table is updated
- 5 years ago
Your FACT table is incomplete - it is part of an incremental refresh. It is, by definition, incomplete. Only the latest data is there after taht first refresh.
You are not reducing a DB call either. Power Query works bottom up, not top down, so say you have this:
- Query 1 to SQL Server
- Query 2 to transform Query 1 to a good FACT table
- Query 3 based on Query 2 to filter your FACT table.
Both query 3 and query 2 will go all the way back to Query 1 independently. Power query doesn't process Query 2 and then use hold the results of that for Query 3. It will redo Query 2, and consequently Query 1.
Right click on the merged query. Is "Include in Refresh" checked?
Pat
- Anonymous5 years agoNot applicable
Both "Enable load" and "Include in Report refresh" are ON for new table.
I am using Incremental refresh on "Sales" table.Power Query of new table:
let
Source = Table.SelectColumns(#"Sales",{"CustName","CustAge","ProductID"}),
joinTable = Table.NestedJoin(Source, {"ProductID"}, Products, {"ProductID"}, "Products", JoinKind.LeftOuter),
finalTable = Table.ExpandTableColumn(joinTable, "Products", {"ProductName"})
in
finalTableThe new table will have CustName, CustAge, ProductID, ProductName columns
I create two cards, one for No. of rows in Sales and one for New table. The count is same at this moment. I publish the file and refresh the dataset on PowerBI Services. Now the count on Sales card is increased but the count of new table card is same.- edhans5 years agoCommunity Champion
You shoudn't create a DIM table from a FACT table that is part of an incremental refresh. Go back to the source sales table before incremental refresh, or create a second connection to the sales table for this. It won't hurt performance. Power Query will still make 2 calls to the server no matter how you do it.
- Anonymous5 years agoNot applicable
I am creating a Dim table by summarizing a few columns from Fact table. Using this Dim table in RLS as a link table. Though I can create the same table using a direct sql statement. But to reduce a db call, I am extracting it from Fact table. So, you are suggesting that a direct sql will be a better option ?