Forum Discussion
Trouble Understanding Incremental Refresh Parameter
- 3 years ago
It's a valid question. Here is what is happening:
1. you want to implement a process where you keep a certain amount of data (say, "last12 months") but ony want to update a smaller amount (say, "last seven days"). This is what you specify in the incremental refresh settings for your fact table. Now the Power BI Service takes your instructions (last 12 month/last 7 days) and translates that into layout for partitions - data storage containers that can be refreshed individually. The Power BI service does this automatically, creating daily partitions, monthly, quarterly and yearly partitions as needed. Once a higher level has passed (for example at the end of the month) the lower level partitions may be combined into a higher level partition.
Now you have said "last 7 days" but if you look at the partition layout you will see that the service will keep all daily partitions around until they can be consolidated.
2. To identify what data has to go into each partition you have your RangeStart and RangeEnd parameters. They need to be part of the query against the data source, and they need to be set in a way that partitions don't overlap. Meaning one of the parameters must be inclusive and the other exclusive. Come dataset rrefresh time, the Power BI service will automatically fill these parameters with the required values for each partition, ignoring the default values you have set in Power Query.
3. Now why specify these values if they are ignored in the service? See it as a feature that allows you (the report developer) to restrict the amount of data to use for development without impacting the report data on the service.
That's it in short. There are many more aspects to this. Incremental refresh for datasets and real-time data in Power BI - Power BI | Microsoft Learn
It's a valid question. Here is what is happening:
1. you want to implement a process where you keep a certain amount of data (say, "last12 months") but ony want to update a smaller amount (say, "last seven days"). This is what you specify in the incremental refresh settings for your fact table. Now the Power BI Service takes your instructions (last 12 month/last 7 days) and translates that into layout for partitions - data storage containers that can be refreshed individually. The Power BI service does this automatically, creating daily partitions, monthly, quarterly and yearly partitions as needed. Once a higher level has passed (for example at the end of the month) the lower level partitions may be combined into a higher level partition.
Now you have said "last 7 days" but if you look at the partition layout you will see that the service will keep all daily partitions around until they can be consolidated.
2. To identify what data has to go into each partition you have your RangeStart and RangeEnd parameters. They need to be part of the query against the data source, and they need to be set in a way that partitions don't overlap. Meaning one of the parameters must be inclusive and the other exclusive. Come dataset rrefresh time, the Power BI service will automatically fill these parameters with the required values for each partition, ignoring the default values you have set in Power Query.
3. Now why specify these values if they are ignored in the service? See it as a feature that allows you (the report developer) to restrict the amount of data to use for development without impacting the report data on the service.
That's it in short. There are many more aspects to this. Incremental refresh for datasets and real-time data in Power BI - Power BI | Microsoft Learn