Forum Discussion
Dataset Refresh: Transaction Bound?
- 1 year ago
Semantic model refreshes (down to the partition) are based on blitting. Only after a successful completion will the entity (partition or table or model) be swapped in.
When you request a refresh of a single table the mashup engine may have to also refresh dependency tables - that mostly depends on the lineage and the design of your calculated columns. You can see the dependencies when you run the selective refresh in SSMS, for example.
So the answer is a definitive yes 🙂 Both...
- Anonymous1 year ago
Thanks for the reply from lbendlin , please allow me to provide another insight:
Hi, ahwanmishra
Based on my understanding:
In Power BI, when using the enhanced API for dataset refresh, the refresh behaviour depends on the commitMode parameter set in your request. If you do not specify commitMode, by default, the refresh operation is transactional. This means the refresh operation is treated as a transaction, and if any table fails to refresh, the entire refresh operation will roll back, causing all table refreshes to fail.
However, if you set commitMode to partialBatch, the refresh will be independent. This means each table will refresh separately. If one table (e.g., "table2") fails to refresh, other tables (e.g., "table1" and "table3") will continue to refresh.
Below are the relevant documentation screenshots:
For more details, please refer to:
Enhanced refresh with the Power BI REST API - Power BI | Microsoft Learn
Datasets - Refresh Dataset - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Of course, if you have any new discoveries or questions, please feel free to get in touch with us.
Best Regards,
Leroy Lu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Semantic model refreshes (down to the partition) are based on blitting. Only after a successful completion will the entity (partition or table or model) be swapped in.
When you request a refresh of a single table the mashup engine may have to also refresh dependency tables - that mostly depends on the lineage and the design of your calculated columns. You can see the dependencies when you run the selective refresh in SSMS, for example.
So the answer is a definitive yes 🙂 Both...