Incremental refresh stops Power BI from reloading multi-year fact tables every night. In Desktop you set archive + incremental periods; in the service the dataset must live on Premium capacity, Premium Per User, or Fabric capacity — classic shared Pro workspaces will not apply the policy.
Hard preconditions
- Parameters named RangeStart and RangeEnd (Date/DateTime) with filters that fold — View Native Query must show the date predicate pushed to SQL.
- A stable column (e.g. ModifiedDate / PostingDate) that never moves rows quietly between partitions without detect data changes.
- First historical load scheduled intentionally; it can run hours and still Fail on capacity timeout if you underestimate size.
Late rows and soft deletes
If finance posts into a “closed” month, either enable Detect data changes on a last-updated column or keep overlapping incremental days. Soft deletes that only clear IsActive without updating the watermark leave ghost rows in older partitions. Refresh history showing Success does not mean balances reconcile — compare GL totals after the first incremental week.
When leaders should wait
If the Import model already finishes before the SLA with headroom, fix gateway credentials first. Reach for incremental when refresh duration or model size (VertiPaq Analyzer / Dataset size in workspace settings) is the binding constraint.