Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.

Reply
elakkiyaselvan
Frequent Visitor

Incremental & Full refresh

Hello All,

 

My user wants to configure a Power BI semantic model to perform incremental refreshes on weekdays and a full refresh on weekends. Is it possible to implement both types of refreshes within a single semantic model?

 

Your advice or thoughts on this would be greatly appreciated.

 

 

1 ACCEPTED SOLUTION
Ilgar_Zarbali
Super User
Super User

Yes, it's possible to implement both Incremental and Full Refresh in a single semantic model — but it requires using a combination of parameters, Power Query logic, and orchestrated refresh control via tools like Azure Data Factory, Power Automate, or Tabular Editor + XMLA scripting.

 

 

Step 1: Set Up Parameters in Power BI Desktop:

  • Create a Boolean parameter called IsFullRefresh.
  • Use this parameter in Power Query to control how much data is pulled:

* Use this parameter in Power Query to control how much data is pulled:

* If IsFullRefresh = FALSE, use RangeStart and RangeEnd to perform an incremental refresh.

Step 2: Modify Power Query to Respect IsFullRefresh:

let
    Source = ...,
    FilteredRows = if IsFullRefresh then Source else Table.SelectRows(Source, each [Date] >= RangeStart and [Date] < RangeEnd)
in
    FilteredRows

Step 3: Configure Incremental Refresh Policy in Power BI Service:

 

  • After publishing, enable incremental refresh with RangeStart and RangeEnd.

 

Step 4: Use XMLA or API Automation to Toggle Full vs. Incremental:

 

  • Use Tabular Editor, Azure Automation, or the REST API to:
    • Update the value of IsFullRefresh parameter before each scheduled refresh (e.g., via Power Automate flow).
    • Trigger full refresh (on weekends) by setting IsFullRefresh = TRUE and refreshing the dataset.
    • Revert back to FALSE for weekdays (incremental only).

 

Notes:

* You'll need service principal or admin control to automate via API.

* Be careful with data volume to avoid timeouts on full refreshes.

 

If this addresses your question, I’d appreciate it if you could mark it as the accepted solution. Thank you!

 

 

View solution in original post

4 REPLIES 4
v-sdhruv
Community Support
Community Support

Hi @elakkiyaselvan ,

Just wanted to check if you had the opportunity to review the information provided. 
Thank you @Ilgar_Zarbali , @Poojara_D12  and @Akash_Varuna  for your active participation in providing detail solution to the query.  Additionally, you can even follow this documentation to learn about incremental refresh.
https://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview
If any of the  responses has addressed your query, then please accept it as a solution so that other members can easily find it.
Thank you.

Akash_Varuna
Super User
Super User

Hi @elakkiyaselvan Yes, you can configure both incremental and full refreshes within a single Power BI semantic model. Start by setting up incremental refresh policies using RangeStart and RangeEnd parameters to refresh only new or updated data. Schedule these incremental refreshes on weekdays using the Power BI Service. For full refreshes, use tools like Dataflow or Azure Data Factory to override the incremental refresh policy and reload the entire dataset on weekends. 

Poojara_D12
Super User
Super User

Hi @elakkiyaselvan 

In Power BI, incremental refresh and full refresh cannot be configured simultaneously within a single semantic model using built-in options—you can only define one refresh behavior at a time in the model settings. However, your requirement to perform incremental refresh on weekdays and full refresh on weekends can still be achieved using a workaround with Power BI Dataflows or via the XMLA endpoint and automation tools. One common approach is to enable incremental refresh in the semantic model, and then use a tool like Azure Data Factory, PowerShell, or Logic Apps to trigger a full refresh through the XMLA endpoint on weekends. This means your semantic model will behave incrementally by default, but you can programmatically force a full refresh (which overrides the incremental logic) based on the day of the week. This setup requires Premium capacity or Fabric capacity and administrative access to configure and automate XMLA-based refreshes. While it’s not natively supported in the UI to switch between incremental and full within a single model, this method allows you to achieve the desired behavior effectively through external scheduling and scripting.

 

Did I answer your question? Mark my post as a solution, this will help others!
If my response(s) assisted you in any way, don't forget to drop me a "Kudos"

Kind Regards,
Poojara - Proud to be a Super User
Data Analyst | MSBI Developer | Power BI Consultant
Consider Subscribing my YouTube for Beginners/Advance Concepts: https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS
Ilgar_Zarbali
Super User
Super User

Yes, it's possible to implement both Incremental and Full Refresh in a single semantic model — but it requires using a combination of parameters, Power Query logic, and orchestrated refresh control via tools like Azure Data Factory, Power Automate, or Tabular Editor + XMLA scripting.

 

 

Step 1: Set Up Parameters in Power BI Desktop:

  • Create a Boolean parameter called IsFullRefresh.
  • Use this parameter in Power Query to control how much data is pulled:

* Use this parameter in Power Query to control how much data is pulled:

* If IsFullRefresh = FALSE, use RangeStart and RangeEnd to perform an incremental refresh.

Step 2: Modify Power Query to Respect IsFullRefresh:

let
    Source = ...,
    FilteredRows = if IsFullRefresh then Source else Table.SelectRows(Source, each [Date] >= RangeStart and [Date] < RangeEnd)
in
    FilteredRows

Step 3: Configure Incremental Refresh Policy in Power BI Service:

 

  • After publishing, enable incremental refresh with RangeStart and RangeEnd.

 

Step 4: Use XMLA or API Automation to Toggle Full vs. Incremental:

 

  • Use Tabular Editor, Azure Automation, or the REST API to:
    • Update the value of IsFullRefresh parameter before each scheduled refresh (e.g., via Power Automate flow).
    • Trigger full refresh (on weekends) by setting IsFullRefresh = TRUE and refreshing the dataset.
    • Revert back to FALSE for weekdays (incremental only).

 

Notes:

* You'll need service principal or admin control to automate via API.

* Be careful with data volume to avoid timeouts on full refreshes.

 

If this addresses your question, I’d appreciate it if you could mark it as the accepted solution. Thank you!

 

 

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.