apis and embedding
13 Topics[API rest on premise] power BI report pbix data model
hi, I am developing a data governance software, I don't have the problem with Power BI cloud but my problem below is with Power BI on premise I would like to retrieve the data model of the powerBI report (the pbix report). I tried "GET /PowerBIReports({Id})/DataModelParameters" but the reponse is empty. I downloaded the pbix file with REST API but I did not find the REST API to have the data model linked to the report. I tried to uncompress the dataModel included in the pbix file but I did not find the right compression algorithm. My temporary solution is : Open the report with desktop application and export the model/template (pbit file), with this file I access to uncompressed data model. But I can automatise this solution. Do you have a better solution to have the data model of the power BI report with API REST ? Thank GwendolineSolved2.4KViews0likes5CommentsPowerBI Report integration - Dataset ID missing for Paginated Report
Hi Everyone, We have successfully integrated PowerBI reports into our Java Web Application, and the reports are rendered on the webpage without issues. However, for reports of type "PaginatedReport," we encounter a problem. The DatasetID is missing in the Get Report Endpoint (https://api.powerbi.com/v1.0/myorg/groups/<Sample-ID>/reports/<Report-ID>), which prevents us from obtaining the EmbedToken and causes the entire report rendering process to fail. Is there a way to generate an EmbedToken without the DatasetID? Please advise.976Views0likes3CommentsAccess PowerBI Report - when users having multiple Microsoft account from different Org
Hi Team, We have published several PowerBI reports accessible to all authenticated users within our web application via an iframe, with a total user base of over 60,000. Everything works well because we have SSO configured with the same Identity Provider (IDP). However, we encounter issues when users are already logged in with a different Microsoft account, leading to an error message stating "report not found." While this is technically expected, it is not ideal from a user perspective. We want to understand if we can embed the client or tenant ID in the report URL to ensure it always checks for the session of a specific tenant or Microsoft account, avoiding these issues for users. We have a couple of options but bot feasible at this point of time for us so looking for alternatives. 1. Training the user base, which is challenging given the current circumstances. 2. Embedding the report using Javascript 2.1 Register the application in Azure AD. 2.2 Configure API permissions. 2.3 Create a client secret. 2.4 Implement server-side authentication and token generation. 2.5 Embed the report client-side. The problem with this approach is that the access token would be accessible at the UI layer,which we are not comfortable sharing. Please suggest if there is a way to enforce the PowerBI report URL to use a specific tenant or account.Solved1.1KViews0likes4CommentsHow to create a blank embedded paginated report using the powerbi-client library as master user
Hello! I'm using the powerbi-client library to create a new report in an container. I am able to use the createReport method to create reports but not paginated reports. This is the code I'm using to create reports: import * as pbi from "powerbi-client"; const powerbi = new pbi.service.Service( pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory ); let embedCreateConfiguration = { tokenType: 1, accessToken: "<access_token>", embedUrl: "https://app.powerbi.com/reportEmbed", datasetId: "<dataset_id>", }; let embedContainer = document.getElementById("embed"); let report = powerbi.createReport( embedContainer, embedCreateConfiguration ); My idea to create paginated reports was to change the embed url to "https://app.powerbi.com/rdlEmbed". When I do that I get an infinte spinner animation and no report is being created. I'm generating an access token by passing this request body in: {"datasets": [{"id": "<dataset_id>"}, "targetWorkspaces": [{"id": "<workspace_id>"}]] Is this soley because I'm using a master user to authenticate? Or is this due to some malformed configuration that I'm passing into the library? Thanks in advance!Solved950Views0likes1CommentPower BI Embedded - How to load a subset of PBIX Pages/Data Model
Hi all, I'm quite new to the community. I work in a company that created a platform using Power BI Embedded. As written in the subject, I'd like to know if there is an automated way to split a PBIX file (via API) in order to load the subset of pages (and consequentially of data model) the user asks for. That's why we produce a set of reports grouped by topic and often a single user that logs-in to our Platform want to see a subset of pages (and data model) of a unique PBIX. There is an alternative to splitting directly PBIX? There is some documentation I can consult? Thanks, Antonio FogliaSolved788Views0likes2CommentsLack of standards in feature documentation
Before beginning, we very much appreciate your work on PowerBI Report Server. It is an amazing product which has consistently been of a very high quality. As developers ourselves, we have no issues whatsoever with the slow release cycle (and in fact appreciate and even prefer it!) but the lack of knowledge on what features will (if ever) be released and when is maddening. When new features are mentioned on PowerBI Report Server or PowerBI Desktop releases, it is vey rarely clear which features will make it into PowerBI Report Server (for non PBIRS desktop releases), which features will work with Custom Authentication, and whether API's have been added yet or are planned for service and Report Server features. For instance, when adding RLS for PowerBI Report Server, the fact that it works for Custom Authentication had to be discovered in the comments and forum posts (and, with due respect to the MIcrosoft Team, in the official documentation) is dissappointing. And despite this feature being documented here, the documentation is woeful regarding compatibility, for instance composite models do not even mention PowerBI Report Server at all, leaving its compatibility completely ambiguous. In monthly PowerBI Desktop Releases, however, it is always completely up in the air whether a feature will or will not make it to PowerBI Report Server. Every release, there is a massive amount of comments asking if any particualr feature will or will not make it to Report Server. The most specific information we usually get is one or two specific features officially documented, and a general statement on "most visual features" or "most modelling features" making it to PowerBI Report Server. Unfortunately, the comments section has been where we have been able to gather nearly all information on what features will and will not make it to PowerBI Report Server. While we very much appreciate the strength of will of delving into the comments section, we feel that the effort would be better spent documenting, for each feature: Whether a feature is currently planned on being compatible with PowerBI Report Server Whether a feature is still under consideration Whether a feature is compatible with with Custom Authentication, and if so how (if appropriate) Whether a feature will work with Direct Query/Live Connection (if appropriate) Whether a modelling feature will support RLS Whether (or rather when, given the shared technology) a Modelling feature will make it to Azure Analysis Services Whether (or rather when, given the shared technology) a Modelling feature will make it to SQL Server Analysis Services When the API's for the feature will be exposed in PowerBI Report Server (RLS I am looking at you), and if they exist then a link to documentation Whether an API for the feature will be exposed in PowerBI Service, and if it exists then a link to documentation In summary, the issue is the lack of consistent standards in documentation, including in official documentation. For instance, the aforementioned composite models documentation should establish a standard similar to SQL Documentation, with a list of products at the top (Desktop, Service, Report Server (and version)), and a series of ticks and crosses indicating compatibility. In addition, it would mention if RLS would work, and if so how it would work with the various data sources. Apologies for the long post, it is hoped that it does not come off too critical.1.2KViews1like2CommentsAuthenticate with client certificate
Today we are using Sharepoint and SSRS (Sharepoint mode). Authentication is handled by smart cards and client certificate. Once the user is logged in, it uses a system account (in Sharepoint) and the user is basically anonymous. A user specific token is fetched (server side ASP.Net) by Sharepoint once the user logged in and is appended to the links to the reports as a query parameter. When the user views a report the token is used as an argument to a stored procedures which determines what content the user gets to see in the report. What we want The portal will be an ASP.Net Core application with Angular on the front end and I will embed reports from our on premise PBI Report Server using an iframe. The requirement is, as is today, that the users should be authenticated with smart cards with the help of client certificates. This is not an issue on the portal side with custom authentication and a custom users table in our database. My concern is when the user wants to view an embedded (iframe) report. One alternative is as what we have today, the user is anonymous, ie all users in PBI Report Server sees everything. And we use query parameters to filter data in the reports. This is very easily hacked just by looking in the source code of the page. Changing the query parameter reveals all information. additionally the filter pane to the right is populated by the filter and easily manipulated. An what I hear is you cannot hide the filter pane. The best alternative would be to create a custom authentication module for the PBI RS which we could pass some object/token/whatever to from the ASP.Net portal to ensure who the user is. If this was possible it would then be possible to use Row Level Security. Is this possible? What would your suggestion be? How would I do this? How do I map the user from the portal to a user in PBI RS?Solved14KViews0likes5CommentsSSRS 2017 REST calls for Content?
I am trying to use the new REST API in SSRS/PBIRS 2017 and cannot get the Content retrieval endpoints to work. I just get 404 errors: /api/v2.0/DataSets(Path='/path/to/ds')/Content/$value Just gives me 404. Other GETs like /Data or /DataSources work fine. Is this the right calling syntax? I don't really see what this "$value" thing is in the URL.Solved3.6KViews0likes2CommentsProblem with new new REST API and report datasources
I am having problems with the new SSRS REST API, in particular relinking uploaded reports to their datasources. Microsoft have confirmed that the API doc as published is not correct in that the PUT on report datasources should take an array of datasources, not just one datasource but I still can't get it to do anything other than return 400 errors every time, no matter what I try. Nothing useful in the logs either. Here is a minimal snippet in Powershell where I simply get the datasources, modify the path and try to PUT the changes datasources back again. The PUT always gets a 400 error. $ret = Invoke-RESTMethod -Uri "$restroot/Reports(Path='/$replib/$fname')/DataSources" -Method GET -ContentType "application/json" -UseDefaultCredentials # $ret is correct and $ret.value is an array of datasources # Change datasource path $ret.value | % { $_.Path = "/$dclib/" + $_.Name } # Convert to JSON $body = $ret.value | ConvertTo-Json # Put modified Datasources array back into report $ret = Invoke-RESTMethod -Uri "$restroot/Reports(Path='/$replib/$fname')/DataSources" -Method PUT -Body $body -ContentType "application/json" -UseDefaultCredentialsSolved3.2KViews0likes1Comment