Forum Discussion
Power BI Desktop: Circular Reference Error While Attempting Incremental Data Load from Oracle
I have a Power BI Desktop report connected to an Oracle database, where data is retrieved via a SQL query. The query currently uses a fixed start date and dynamically calculates the end date as today - 1. For example, the start date is 1 September 2025 and the end date is 14 December 2025.
Upon refresh, the report pulls data starting from 1 September, which—over time—significantly increases refresh duration and imposes unnecessary load on the database.
To optimize this, I attempted an incremental loading approach with the following setup:
- Historical Data Table: Created a table named tableAHistoricalData that contains data up to 10 December 2025.
- Reference Table: Created a reference from the historical table named tableAHistoricalDataReference.
- Query Parameters:
- LatesttableADateQuery: Retrieves the latest date from the historical table and uses it as the start date in the SQL query. The end date is computed as today - 1 using a DateTime function.
- tableA_DBQuery: Executes the SQL query using the above dates to fetch the new/delta records.
- Append Step: After retrieving new data, I attempted to append it back to the reference table. At this step, Power BI raises a circular reference error.
Request:
Could anyone please help me resolve the circular reference error or suggest a robust pattern to implement incremental data loads in Power BI Desktop for this scenario?
Additional details (if helpful):
- Source: Oracle DB
- Retrieval method: Native SQL query
- Objective: Append only new data since the latest date available in tableAHistoricalData, with end date as today - 1
Thank you in advance for your guidance.
Hi Ameya_Paranjape ,
For this scenario I would implement a incremental refresh that is configurable directly in Power BI:
https://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview
This approach will handle all the scenarios of your dates and no need to implement other tables to do appends and merges.
6 Replies
- MFelixSuper User
Hi Ameya_Paranjape ,
For this scenario I would implement a incremental refresh that is configurable directly in Power BI:
https://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview
This approach will handle all the scenarios of your dates and no need to implement other tables to do appends and merges.
- Peter_23Advocate V
Hi Ameya_Paranjape you should avoid referenced in the incremental date, It will be with incremental.
- v-prasareCommunity Support
Hi Ameya_Paranjape,
We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.
Thank you for your patience and look forward to hearing from you.
Best Regards,
Prashanth Are
MS Fabric community support - krishnakanth240Super User
Please check and confirm
Power BI Incremental Refresh
Create parameters:
RangeStart (DateTime)
RangeEnd (DateTime)Modify Oracle SQL query:
WHERE transaction_date >= :RangeStart
AND transaction_date < :RangeEnd
Ensure query folding (mandatory for Oracle)In Model view → Incremental refresh:
Store data for: e.g. 3 years
Refresh data for: 1 dayPublish to Power BI Service
✔ No manual append
✔ No reference tables
✔ Best performance
✔ Enterprise-safehttps://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview
- RufydaSuper User
Do not use manual append or reference tables.
Use Power BI Incremental Refresh instead:
Create parameters:
RangeStart
RangeEnd
Update the SQL query:
WHERE transaction_date >= :RangeStart
AND transaction_date < :RangeEndEnable Incremental Refresh in Model view.Publish to Power BI Service.
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Regards,
Rufyda Rahma | MIE - v-prasareCommunity Support
We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.
Thank you for your patience and look forward to hearing from you.
Best Regards,
Prashanth Are
MS Fabric community support