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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Ameya_Paranjape
New Member

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:

  1. Historical Data Table: Created a table named tableAHistoricalData that contains data up to 10 December 2025.
  2. Reference Table: Created a reference from the historical table named tableAHistoricalDataReference.
  3. 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.
  4. 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.

6 REPLIES 6
v-prasare
Community Support
Community 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

Rufyda
Memorable Member
Memorable Member

Hi @Ameya_Paranjape 

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 

krishnakanth240
Advocate IV
Advocate IV

Hi @Ameya_Paranjape 

 

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 day

 

Publish to Power BI Service
✔ No manual append
✔ No reference tables
✔ Best performance
✔ Enterprise-safe

https://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview

v-prasare
Community Support
Community 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

Peter_23
Post Patron
Post Patron

Hi @Ameya_Paranjape  you should avoid referenced in the incremental date, It will be with incremental.

MFelix
Super User
Super 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.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors