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)
- Merged Idea (1)
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.
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.
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.