Forum Discussion
Incremental refresh - deletion
Hi powerbiexpert22,
Yes, your understanding is correct, and I need to correct what I wrote in your earlier thread: "Detect data changes" only applies to partitions inside the incremental (refresh) window. Within that window it skips partitions whose max(ModifiedDate) has not changed; partitions in the historical/archive range are never re-read by a policy refresh, even if their rows changed. Sorry for the confusion.
So changes or soft-deletes in 1 Aug to 24 Oct need an explicit refresh of those partitions. Options, from simplest to most precise:
1. Widen the refresh window temporarily (e.g. refresh last 3 months),
run one refresh, then set it back. Simple, but reprocesses everything in it.
2. Refresh only the affected historical partitions via the enhanced refresh
API (or SSMS / Tabular Editor over XMLA), without touching the policy.POST https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/refreshes
{
"type": "full",
"applyRefreshPolicy": false,
"objects": [
{ "table": "Sales", "partition": "2026Q309" },
{ "table": "Sales", "partition": "2026Q310" }
]
}Partition names follow the policy granularity (you can list them with INFO.PARTITIONS, see your other thread on checking partitions). A practical pattern is a small scheduled job that finds which months had changes in the source (max ModifiedDate per month since the last run) and refreshes just those partitions with the call above.
So my overall approach would be:
Detect data changes = only the incremental window (your reading is right)
-> Historical changes: targeted partition refresh via API/XMLA
-> Automate: find changed months in source, refresh those partitions
-> Or temporarily widen the refresh window for one-off correctionsAI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.