Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
EChemali
Regular Visitor

Duplicate Datasets after Report Uploading using RESTful API

 

 Hello Community,


We created a customer facing product using Power BI embedded. We created a tool to automate the uploading of our Power BI reports using the Power BI RESTful API. Prior to uploading a report update, we delete the existing report (if exists) then upload the update as shown below..

                        String reportId = GetReportID(report.reportName, report.groupId, client);

                        if (reportId != null)

                        {

                            client.Reports.DeleteReportInGroup(report.groupId,reportId.ToString());

                        }

 

We have seen that the data sets from previous versions of the report stay behind and they are auto-refreshing these causes our Azure SQL Server DTU’s to be constantly in use. We have about 20 reports and we are constantly uploading updates, therefore the number of datasets being left behind are increasing. You can see our datasets being duplicated every time we upload a new report.

 

PBI_Dup_DS.JPG

 

My question is (and it may have an obvious answer, If so, apologize in advance) , should we manually delete the dataset first, then delete the report every time we update a report using the RESTful API?

 

If so, is something like the below code something we need to add prior to the client.Reports.DeleteReportInGroup(..) method??

 

var dsId = GetDatasetID(report.reportName, report.groupId, client);

client.Datasets.DeleteDatasetById(dsId.ToString());

 

Thank you all in advance.

Emilio

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @EChemali,

 

Based on research, current rest api contains refresh dataset function, but it seems like only suitable configured(setting gateway and other refresh options) datasets.(it similar as manually refresh)

 

For deatsets which manually create by rest api and push to power bi service, you can only remove original table rows and add new rows to achieve refresh option. Otherwise I think it will create duplicate datasets which you mentioned.

 

Notice: current rest api not has api to update existed tables, it also not contains function to update/replace original rows.

BTW, for operation rest api and power bi embedded, you can post to developer forum to get further support.

 

Regards,

Xiaoxin Sheng

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @EChemali,

 

Based on research, current rest api contains refresh dataset function, but it seems like only suitable configured(setting gateway and other refresh options) datasets.(it similar as manually refresh)

 

For deatsets which manually create by rest api and push to power bi service, you can only remove original table rows and add new rows to achieve refresh option. Otherwise I think it will create duplicate datasets which you mentioned.

 

Notice: current rest api not has api to update existed tables, it also not contains function to update/replace original rows.

BTW, for operation rest api and power bi embedded, you can post to developer forum to get further support.

 

Regards,

Xiaoxin Sheng

Thank you Xiaoxin for your help

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.