Forum Discussion

ahwanmishra's avatar
ahwanmishra
Regular Visitor
1 year ago
Solved

Dataset Refresh: Transaction Bound?

Hi Team, I have a query regarding the dataset refresh process in Power BI using the Enhanced API. Specifically, I want to understand whether the dataset refresh behaves like a transaction or if th...
  • lbendlin's avatar
    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...

  • Anonymous's avatar
    Anonymous
    1 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