Skip to main content
Microsoft Idea

Power BI

New

Get Reports API Should Return Dataset ID For Paginated Reports Using Dataset

Vote (6) Share
Joel Janke's profile image

Joel Janke on 17 Nov 2022 19:41:43

The Get Reports API needs an update. As currently documented it says "Since paginated reports (RDL) don't have a dataset, the dataset ID value in the API response for paginated reports isn't displayed." At the time that was written, I imagine it was true that paginated reports did not have a dataset. Currently, however, paginated reports can be built on top of data set and this Get Reports API has not been updated to return that data set. Not having the data set ID means that hard coded data set IDs must be passed when generating the relevant multi-resource embed token.currently required for accessing a paginated report built on top of a dataset.


Reports - Get Reports - REST API (Power BI Power BI REST APIs) | Microsoft Learn


In general, it would be nice to start to see more and more consistency across the API space whether one is working with a paginated report or working with a traditional Power BI report.

Comments (3)
Joel Janke's profile image Profile Picture

Rohit Patkar (SQL) on 23 Mar 2023 22:54:49

RE: Get Reports API Should Return Dataset ID For Paginated Reports Using Dataset

hello,


Thank you for the feedback. A paginated report can be bound to multiple datasources, each using a different Power BI Dataset or other data sources. As a workaround, have you looked into getting the dataset id by parsing the RDL XML content looking for Report -> DataSources -> DataSource -> ConnectionProperties -> ConnectionString and extracting the GUID from Initial Catalog string. If using dataset's connection string from Server Settings then you'd need to again parse the ConnectionString to get inital catalog string and then lookup that particular dataset. Hope this helps.

Joel Janke's profile image Profile Picture

on 02 Dec 2022 00:53:56

RE: Get Reports API Should Return Dataset ID For Paginated Reports Using Dataset

In order to embed a paginated report and in case of a paginated report with Power BI Dataset used as a datasource, we need to generate a token for this dataset. Indeed there is no easy way to get this ID from a specific paginated report. The idea is to include the dataset ID in the response of some ressources like GET REPORTS, GET DATASOURCES.

Joel Janke's profile image Profile Picture

on 02 Dec 2022 00:17:59

RE: Get Reports API Should Return Dataset ID For Paginated Reports Using Dataset

Currently there isn't a good way to retrieve the Paginated reports source dataset ID programically. Yet it must be set when generating embedded token.

Because when I request report information from /v1.0/myorg/reports, paginated reports does not contain dataset ids, while other reports do. Trying v1.0/myorg/reports/{reportId}/datasources doesn't return dataset ID either, but some other stuff.


Microsoft documentation for GET https://api.powerbi.com/v1.0/myorg/reports endpoint:

Since paginated reports (RDL) don't have a dataset, the dataset ID value in the API response for paginated reports isn't displayed.


So we really need that get Dataset ID endpoint for Paginated reports. Also it should be authorized to be used by Service Principal.

Merged Idea (1)