Forum Discussion
Direct query connection not working in Incremental refresh
- 4 months ago
Hi Tiyani,
Thank you for the detailed update . Based on what you've shared, the issue is not your configuration - it's a known limitation of how Hybrid tables behave in Power BI Service.
Here's what's actually happening:
The core problem — Hybrid table DirectQuery partition only covers "recent" data
When you enable incremental refresh with the "Get latest data in real time" option, Power BI splits your table into two partitions:
- Import partitions → historical data, refreshed on schedule
- DirectQuery partition → covers only the most recent period (e.g., today or last N days based on your RangeStart/RangeEnd settings)
The DirectQuery partition will only serve live data if the query being executed by the report hits that recent partition. If your visuals are aggregating or filtering across a wider date range, Power BI may be pulling from the import partitions entirely — and the DirectQuery partition never gets queried at all. This is the most common reason users see no live refresh despite correct setup.
What to check
- Narrow your report filter to only the DirectQuery window — temporarily filter your report to show only today's or the last few hours' data. If the live data suddenly appears, this confirms your visuals were pulling from import partitions, not the DirectQuery one.
- Verify your DirectQuery partition boundary in SSMS or DAX Studio — connect to your Power BI dataset using XMLA endpoint and run:
daxSELECT * FROM $System.TMSCHEMA_PARTITIONSWHERE [TableID] = <your table>
Check the QueryDefinition of the DirectQuery partition — confirm the date boundary matches what you expect (e.g., last 1 day).
- Change Detection requires a dedicated Change Detection table — Change Detection does not work on your main hybrid table directly. It needs a separate, small table (like a LastUpdated timestamp table) that Power BI polls. Since your change detection table works but your main table doesn't, the polling is working — but the main table visuals aren't re-querying. This points back to point 1 above.
- Check Premium capacity settings — In your Premium workspace, go to Admin Portal → Capacity Settings → your capacity → Power BI workloads and verify that DirectQuery connections are not throttled. Some Premium capacities have DirectQuery query limits that silently fall back to cached data.
- Set Automatic Page Refresh to fixed interval (not Change Detection) first — Set APR to a fixed 5-minute interval on your report page that has the real-time visuals. Make sure the visuals on that page are only querying the recent date range. This is the most reliable way to confirm whether DirectQuery is actually firing.
Quick test:
Create a simple card visual showing MAX(YourDateColumn) filtered to today only, on a page with APR set to 2 minutes. Watch if it updates between scheduled refreshes. If it does — your DirectQuery is working and the issue is your other visuals querying across import partitions. If it doesn't — the DirectQuery partition boundary is the problem.
Please refer the below links for more information🔗Hybrid table behavior in Power BI
🔗Automatic Page Refresh setup
🔗XMLA endpoint for partition inspectionHope this helps resolve it — let us know what the partition boundary check shows!
Thanks and Regards
GainInsights Solutions
Trusted Microsoft Partner: https://gain-insights.com/partnerships/microsoft/
www.gain-insights.com
Power BI will NOT automatically query live data every few minutes unless:
- The report is actively querying that partition
- There’s user interaction or automatic page refresh (APR) configured
- The DirectQuery partition is correctly defined (based on your date column)
I am confident that the direct query is correctly defined which can be seen in the image I shared on main post.
I tried reading through the matrials you shared but I still couldn't get it working.
I also tried Change detection which also doesnt work on my table, only the direct query table that I added for testing. Even when I try to interact with the data its not working. My table is import on Desktop(With incremental refresh) and appears as Hybrid on Service.
This screenshot(Service) below shows my Incremental table time stamp at the top and direct query table below, both timestamps are the same on Oracle DB but the incremental refresh always lags and only updates with scheduled refresh.
Hi Tiyani,
Thank you for the detailed update . Based on what you've shared, the issue is not your configuration - it's a known limitation of how Hybrid tables behave in Power BI Service.
Here's what's actually happening:
The core problem — Hybrid table DirectQuery partition only covers "recent" data
When you enable incremental refresh with the "Get latest data in real time" option, Power BI splits your table into two partitions:
- Import partitions → historical data, refreshed on schedule
- DirectQuery partition → covers only the most recent period (e.g., today or last N days based on your RangeStart/RangeEnd settings)
The DirectQuery partition will only serve live data if the query being executed by the report hits that recent partition. If your visuals are aggregating or filtering across a wider date range, Power BI may be pulling from the import partitions entirely — and the DirectQuery partition never gets queried at all. This is the most common reason users see no live refresh despite correct setup.
What to check
- Narrow your report filter to only the DirectQuery window — temporarily filter your report to show only today's or the last few hours' data. If the live data suddenly appears, this confirms your visuals were pulling from import partitions, not the DirectQuery one.
- Verify your DirectQuery partition boundary in SSMS or DAX Studio — connect to your Power BI dataset using XMLA endpoint and run:
SELECT * FROM $System.TMSCHEMA_PARTITIONSWHERE [TableID] = <your table>
Check the QueryDefinition of the DirectQuery partition — confirm the date boundary matches what you expect (e.g., last 1 day).
- Change Detection requires a dedicated Change Detection table — Change Detection does not work on your main hybrid table directly. It needs a separate, small table (like a LastUpdated timestamp table) that Power BI polls. Since your change detection table works but your main table doesn't, the polling is working — but the main table visuals aren't re-querying. This points back to point 1 above.
- Check Premium capacity settings — In your Premium workspace, go to Admin Portal → Capacity Settings → your capacity → Power BI workloads and verify that DirectQuery connections are not throttled. Some Premium capacities have DirectQuery query limits that silently fall back to cached data.
- Set Automatic Page Refresh to fixed interval (not Change Detection) first — Set APR to a fixed 5-minute interval on your report page that has the real-time visuals. Make sure the visuals on that page are only querying the recent date range. This is the most reliable way to confirm whether DirectQuery is actually firing.
Quick test:
Create a simple card visual showing MAX(YourDateColumn) filtered to today only, on a page with APR set to 2 minutes. Watch if it updates between scheduled refreshes. If it does — your DirectQuery is working and the issue is your other visuals querying across import partitions. If it doesn't — the DirectQuery partition boundary is the problem.
Please refer the below links for more information
🔗Hybrid table behavior in Power BI
🔗Automatic Page Refresh setup
🔗XMLA endpoint for partition inspection
Hope this helps resolve it — let us know what the partition boundary check shows!
Thanks and Regards
GainInsights Solutions
Trusted Microsoft Partner: https://gain-insights.com/partnerships/microsoft/
www.gain-insights.com
- v-aatheeque4 months agoCommunity Support
Hi Tiyani
Have you had a chance to look through the responses shared earlier? If anything is still unclear, we’ll be happy to provide additional support.