We recently have some trouble setting up a Power BI Embedded solution and we hope that someone had some more luck with the example from the official documentation or might point us in the right direction.
We are trying to embed some Power BI reports for an Azure App Service by choosing the “embed for your customers application” (app owns data)-approach and following the Microsoft Documentation Embed content in your Power BI embedded analytics application - Power BI | Microsoft Docs. We choose the Service Principal as authentication method and the Python framework. We are using a supported browser (Edge) and made sure to fulfill the Prerequisites (AAD tenant, service principal, Power BI pro license and a Premium-Per-User license).
Following the steps in the documentation leads to the massage “This content isn’t available.”, when navigating to localhost:
Sample page for embedding with error message
We double checked that the parameters in the file, which we downloaded from GitHub - microsoft/PowerBI-Developer-Samples (linked in the documentation) are correct. The workspace and the report is published, the access is enabled for the Service Principal (SP) in the Power BI admin portal and the SP is added as an admin to my workspace.
The Python application appears to work fine with all modules from the requirements.txt installed. We also tried to embed alternative reports and workspaces, using alternative Service Principals, using security groups or making changes in the parametersfile. We are positive that the example works fine since changing the original code and messing withe config.py and the parameters leads to different (earlier) failure.
We don’t see why the WebApp is not able to access the embedded content. We feel that we checked everything mentioned in the documentation. However, there seems to be something (maybe even obvious) that we miss or that is not mentioned in the documentation.
Every hint is appreciated!
Related
In my PowerBI desktop, I created a Jira dashboard report, and it works perfectly. On the Power BI desktop report, I can view all of my requested data.
Now, when I publish the report https://app.powerbi.com/ the report gets published successfully, however, when I am trying to schedule the refresh, I keep getting below error.
Failed to update data source credentials: The credentials provided for the Web source are invalid. (Source at https://jira.tools.com/.)
When I try to connect straight to my Jira, I know my credentials are accurate and working properly, and the same is true in Powerbi Desktop.
What could be the reason?
Your Jira server might be inside the firewall/inside a private network.
So, the first thing I suggest to try is setting up a Power BI Gateway. Then configure your Power BI Service refresh via that Gateway.
Useful links:
https://learn.microsoft.com/en-us/data-integration/gateway/service-gateway-install
https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-data-sources
You'll want to do that on a Server inside your firewall & ensure Proxy settings are correctly setup - to access Internet.
If that doesn't do it - it's probably a more subtle cause (anywhere from the network configuration to how Active Directory is tied to Jira). Let us know, we'll take it from there.
I am unable to publish to web / public.
After checking my settings under the Admin Portal | Tenant Settings | Publish to Web, I have all the options open:
I checked this post and they state here that it has something to do with the version of Power BI released in November 2020.
I downloaded the latest Power BI Desktop and installed it, then published my report again - which still did not resolve my problem.
Any idea why this option is not available?
After struggling a while, I stumbled upon this solution.
When I started developing my report, I copied the PBIX file (so that I do not have to reinvent the wheel) and plugged this PBIX file into another DB.
What I forgot is, that I needed to remove the row-level security I added for this report under Modeling.
I then just removed all the security there, saved and published the report again.
After this, Publish to Web became available for this report.
I am new to using Power BI gateways. I have created a dashboard using Power BI Desktop connecting to the Test server. Now I have been asked to switch to Production but they wont give me access to the Production. Instead they have setup a data source using Manage Gateways in PBI Service and they are asking me to consume it in my reports. I am so confused if it is actually possible to switch my reports to Production without having access to it. I believe we cannot link PBI Desktop with the DS setup in the Gateway connections directly.
I tried parameterizing database connection so that they can switch to Live and publish it. But they raised a question if they change the password one day and there are many reports published, will they have to go through each of these reports and update with the new password.
Can anyone please provide me a solution for this?
I didn't try this approach, but you can try and check this works for you or not.
In your local Power BI file, In Data Source Settings provide the Production server name.
Give a dummy User ID and Password
Now publish the report to the Power BI Service
Ask your admin now to add appropriate Gateway to the data source. While adding gateway to the data source, the admin should asked for database Credentials and after providing information, it should work.
As I said this is not tested here, I can just hope for the best :)
Publish to web works perfectly, but when I add roles to the report in power BI desktop, then I can't find publish to web in my workspace.
Is there a solution or is it limited to pro users?
One of the limitations of Publish to web is that it does not work with RLS. And if you think about it for a moment, it makes sense. If you implemented RLS in your report, this means that there is sensitive data in it, which should not be visible to some people (or to be visible only to some people, to be precise). But at the same time, you are making this sensitive data public, which makes no sense! And the other side of "public" is that there is no authentication and Power BI doesn't know who is looking at your report, so it can't apply the RLS policies.
One solution is to use Secure embed, but this requires each of the users, who will need access to this report, to have Power BI Pro license.
The best solution is to use the API to embed the report, which is described in Tutorial: Embed Power BI content into an application for your customers.
.
You can also look at this question for details how to implement it.
I'm a newbie in Power BI..
I need to develop a tabular report (no visualizations) in Power BI and publish it to powerbi app so that client can see live reports.
For that what are the settings we have to do in app.powerbi or powerbi cloud?
When I published a report in my pbi cloud, in the report section, there is an option to publish /embed code. But it says the content will be available to public. So how can we restrict access? Do the client need to have pbi account to share the reports? Please let me know what type of PBI account we have to purchase to meet this requirement.
Also is it mandatory to create dashboard in order to share it to the client? Because report option serves the purpose? Is there any advantages in creating dashboard over reports?
Or do you feel any other suggestions rather than Power BI?
Data format: txt, tab delimited
Type of data: Medical records
Any help on this is greatly appreciated.
Power BI world has different things:
Power BI Desktop (PBID)- this is fat desktop client to create reports. You can use it for free.
Power BI Services (PBIS)- this is SaaS application that allows you create reports and share it. When you open powerbi.com you work with this app. All you reports located in logical containers - workspaces. This container like folder, nothing more. You can publish report from Desktop here into specific workspace. You can embed report from there, but without authentication, thus everyone can see it.
Power BI Embedded (PBIE)- this is PaaS solution to embedded reports into you app. Reports anyway should be stored into some workspace at PBIS. But you app can implement auth and show only specific reports to particular users. All users in you app can see different content and reports, based on your app logic, because you manage access to report via PBIE SDK. Take a look at playground.
So when your users work with PBIS they work with Microsoft Web App, if you want embedded same reports into you app, use PBIE with provided SDKs.
As for licenses. In fact there is only one license type: PRO.
If your users want publish and share reports using PBIS they ALL must have PRO licenses. That the point. You can use all products free unless you want share you reports and analysis. If you need to share you have to pay.
Different thing for PBIE. You implement your app as you wish, you manage you users. They should not have PRO licenses. In fact, you need one license to store you reports. I call this like service account. This is regular PBIS user with PRO license. You use it only for publishing reports and storing it at PBIS and you app use it to load and embedded reports. If you have 1000 users, you can buy 1 license and use it to publish you work and all users will be authenticated in you app, authorization also will be done in your app.
Another thing, that once you go in prod you need to buy capacity - Power BI Embedded Services at Azure. The cost depends on renders. Read more docs on this.