Forum Discussion

jackstrudleywsh's avatar
jackstrudleywsh
Frequent Visitor
3 months ago

Incremental Refresh for Fabric Warehouse Views

It seems crazy to me that despite Power BI Desktop allowing the setup and flagging no errors, you cannot incrementally refresh views built in Fabric Warehouse?

Previously we had views built in SQL Data Warehouse which we were able to incrementally refresh in Power BI Datasets without issue but moving data into Fabric Warehouse and this same capability doesn't seem to work. It allows the setup but the incremental part is ignored during refresh and full refreshes are done every refresh instead.

Am I missing something? The advice I'm getting is to do things like mirror the data into the Lakehouse and essentially pay the cost of storing it twice as well as adding an additional process to load the data in the first place which again is more compute cost and high risk.

Has anyone else tried this?

8 Replies

  • Hello

    You're not missing anything , this is a real limitation. Incremental refresh requires query folding, and Fabric Warehouse views don't support query folding the same way Azure SQL Data Warehouse did. When Power BI can't fold the RangeStart/RangeEnd filter back to the source, it silently falls back to a full refresh instead of erroring out, which is exactly what you're seeing.

  • Hi jackstrudleywsh 

     

    What I would say to this is if you have got your range start and range end correctly configured in your power BI semantic model, it should then only be sending the range dates that is needed to query from the warehouse which means it should not query the entire table. I have seen this working successfully and can even do it on CSV files as an example. So it's more around configuring your power BI semantic model correctly. What will then automatically send the required queries down to the data source.

    • jackstrudleywsh's avatar
      jackstrudleywsh
      Frequent Visitor

      Hey Gilbert,

      During the conversations I've had with Microsoft support, they seem to believe there's some sort of row limit at which the incremental refresh won't work and then falls back to a full refresh which sounds slightly suspect to me especially as they cannot detail what that limit is. They've also confirmed in a ton of different ways that the incremental setup I've done is accurate, don't know what you think?

      DateTime.From(Date.AddDays(DateTime.Date(DateTime.LocalNow()), -1))
      meta
      [
      IsParameterQuery = true,
      ExpressionIdentifier = "RangeStart",
      Type = "DateTime",
      IsParameterQueryRequired = true
      ]

      DateTime.From(DateTime.Date(DateTime.LocalNow()))
      meta
      [
      IsParameterQuery = true,
      ExpressionIdentifier = "RangeEnd",
      Type = "DateTime",
      IsParameterQueryRequired = true
      ]

      let
      Source = Sql.Databases("xxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx.datawarehouse.fabric.microsoft.com"),
      Test = Source{[Name="Test"]}[Data],
      pbi_Transactions = Test{[Schema="pbi",Item="Transactions"]}[Data],
      #"Filtered Rows" = Table.SelectRows(pbi_Transactions, each [Transaction Date] >= DateTime.Date(RangeStart) and [Transaction Date] < DateTime.Date(RangeEnd))
      in
      #"Filtered Rows"

  • v-prasare's avatar
    v-prasare
    Icon for Community Support rankCommunity Support

    I’d encourage you to submit your detailed feedback and ideas via Microsoft's official feedback channels, such as the Microsoft Fabric Ideas.

    Feedback submitted here is often reviewed by the product teams and can lead to meaningful improvement.

  • v-prasare's avatar
    v-prasare
    Icon for Community Support rankCommunity Support

    We are following up once again regarding your query. Could you please confirm if you have raised ideas with Microsoft?If not please raise idea and upvote it. Should you need further assistance in the future, we encourage you to reach out via the Microsoft Fabric Community Forum and create a new thread. We’ll be happy to help.

    • jackstrudleywsh's avatar
      jackstrudleywsh
      Frequent Visitor

      Hi,

      Yep I did reach out to Microsoft Support and they couldn't figure it out.

      I did however figure it out but I'm not 100% how. I removed a single calculated column which used a couple of switch statements from the table in question and also removed the date filtering on the view itself (both of which had previously worked when incrementally refreshing the view in our SQL DW) and it began to work so I'm not sure whether it was one of those things causing the issue or a combination of the two but I've got it working.

      • v-prasare's avatar
        v-prasare
        Icon for Community Support rankCommunity Support

        Hi jackstrudleywsh,

        Thanks for sharing this,  great to hear you got it working 

        It sounds like either the calculated column (with SWITCH logic), the date filtering in the view, or both were likely breaking query folding, causing the full refresh behavior.

        This is a useful finding, as it shows that complex transformations and pre-filtering in views can interfere with incremental refresh in Fabric Warehouse.

        Even if the exact cause isn’t fully clear, simplifying transformations and handling filtering in Power BI seems to help. Would be great if you can share any further observations

         

         

        Thanks,

        Prashanth