Forum Discussion
Is There Effective Alternative to Incremental Refresh for Dynamics 365 Business Central Data Source
- 3 months ago
In that scenario, the Historical + Current split approach is probably the most practical option. A common workaround with standard Microsoft Dynamics 365 Business Central APIs is to keep older fiscal years static and refresh only the recent months more frequently, then append the queries together in Power BI.
RangeStart and RangeEnd may still provide some benefit if the Business Central endpoint accepts the date filter, but since query folding is limited, they usually should not be relied on as a fully effective Incremental Refresh solution for large tables like Value Entries or Item Ledger Entries.
For large BC tables, keeping the queries as simple as possible helps the most. Filtering by posting date early, splitting data by year or period, removing unnecessary columns and avoiding heavy Power Query transformations before filtering can help reduce refresh times.
I have seen practical implementations where separate yearly queries or an “Archive + Active” approach were used to keep refresh times manageable without Fabric or SQL staging, though they are not available to me currently to share them. While more manual operationally, it is currently one of the more realistic approaches when limited to standard Business Central APIs and Power BI only.
You can go through below MS docs and discussions though:
Configure incremental refresh for Power BI semantic models - Power BI | Microsoft LearnWeb Service Performance (OData, API, and SOAP) - Business Central | Microsoft Learn
Solved: Business Central and Power BI loading data - Microsoft Fabric Community
Business Central and Power BI: What can you do to make it better?
Hi sumitmanjarme ,
Incremental Refresh with Dynamics 365 Business Central is very limited because query folding often breaks on OData/API endpoints, especially for large transactional tables like Value Entries, ILE, G/L Entries, and Ledger tables.
You can do some workarounds-
Check folding: Always verify View Native Query to confirm filters are pushed down.
Use audit fields: If possible, extend BC tables with LastModifiedDateTime.
Split queries: Separate historical vs. current data to reduce refresh load.
Consider staging: For enterprise scale, stage data in Azure Data Lake or Fabric.
Monitor roadmap: Follow the Microsoft Learn Business Central Power BI docs.
The validated best practice is to use custom APIs or staging plus cutoff strategies.
If this reply helped, mark it as a solution! It encourages contributors and keeps the community strong.
Thanks