We have a multi tenant webapp which is used by around 300/400 users and growing. We want to use PowerBI to visualize the data and embed it inside our web app. Our ultimate goal is that each user can have their own dashboard based on their role and if PowerBI allows we also want users to edit dashboards from within the Web App. Is it possible? What should be the best practice to implement it and what type of Power BI license would it require?
App: MVC 5 Azure Web App
Database: Azure SQL database with Row Level Security
It is not possible to edit dashboards in Power BI Embedded, only reports. So lets assume each user will have his own report. When a new user is registered, you can use Clone Report In Group API to provide a standard template report to start with.
When embedding, there are two models - user owns data and app owns data. In the first mode each user needs Power BI Pro license, while in the second you need a single "master" account with Pro license. It is highly recommended to buy a dedicated capacity by purchasing Power BI Premium or Power BI Embedded.
For best practices and details about the implementation, you can read Tutorial: Embed Power BI content into an application for your organization article.
Related
We have a React app.
What I actually want to do is to send JSON to power-bi service, and on the basis of that json data, powerbi service should create a visual/graphical report for me.
I want this whole process to be automated
What I have done so far is-
I have created a push dataset using powerbi REST APIs mentioned in this doc.
https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-post-dataset-in-group
Additionally have created a table inside that dataset through this REST API in the following doc.
https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-post-rows-in-group#code-try-0
Now, what I want is to create a visual report/graph from this table inside this dataset.
There are APIs to clone an existing report.
There are APIs to update/delete a report.
But I could not find any APIs that can be used to create a report from JSON or from an existing dataset.
MORE-
Additionally in regard to creating a report what i have found is just this page in the whole powerbi docs.
https://learn.microsoft.com/en-us/javascript/api/overview/powerbi/create-edit-report-embed-view?tabs=embed-for-your-organization#how-to-create-a-report
This could be helpful as i also want to embed the created report in my React app at the end.
however I tried it in my react app, and couldn't make it work.
Is this even possible to create a powerbi visual report (not a paginated report) with the help of REST APIs, or they can only be created manually?
Please lead my way!
PowerBI Rest APIs are used to Manage PowerBI Content, Embed Power BI Content, Perform Admin operations.
Create a Report in Power BI Service:
Follow the documentation to create a report in Power BI service.
Please note that, Currently Power BI service only supports published dataset or pasting or manually entering data in a table. To connect to other resources, download Power BI desktop.
Create a Report in Power BI Embedded:
Power BI Embedded allows us to create, edit and save reports.
Please note that, a report can be created in powerbi-embedded only if we have an existing dataset. Refer to this documentation on how to create, edit and save reports in powerbi-embedded.
References:
GitHub - microsoft/PowerBI-Developer-Samples: A collection of Power BI samples for developer use.
Embed Power BI content using a sample embed for your organization application
Embed Power BI content using a sample embed for your organization application
I need to do reporting for my client and are looking into Power BI. What I need to do, is create the report and publish it to the client's website for the public. These reports are public knowledge, there is no security risk to distribute it.
The users should be able to see the report on the website and use some filtering options that comes with Power BI.
I have installed Power BI Desktop (free option) and created the report, but I can not 'Save as' to Web - there is no such option.
My questions are:
Do I need a licence to be able to publish to the web.
Once published to the web, will it be displayed on the website to the users with the functionality to filter and drill down even if they do not have Power BI license?
You have two options - Publish to web and to use the API to embed for your customers (a.k.a. app owns data).
In both cases you must publish the report to Power BI Service. You will need an account for that, but even the free one will work for Publish to web case. However, it is way more limited that the actual embedding using the API.
To register an account, you will need a "business e-mail address", i.e. GMail, Outlook, etc. will not work. This is required, because it will create a tenant for this domain, where the administrators in your organization can manage it.
For Publish to web the administrator must explicitly enable that option in the admin portal. Embedding using the API require programming skills, and normally you will need to buy a "dedicated capacity" (i.e. Power BI Embedded or Power BI Premium).
I'm new at the Power BI.
I created dashboard on Power BI and I have published to the web
when opening the dashboard on custom URL I need to export the dashboard to excel report
can I do this in Power BI or not
I new I can to do this in Power BI web APP but I need do that in my dashboard URL
thank you
This "custom URL" that you mention makes me think that you used Publish to web. One of the limitations of this feature is that you can't export the data:
Reports using row level security.
Reports using any Live Connection data source, including Analysis Services Tabular hosted on-premises, Analysis Services Multidimensional, and Azure Analysis Services.
Reports shared to you directly or through an organizational content pack.
Reports in a group in which you are not an edit member.
"R" Visuals are not currently supported in Publish to web reports.
Exporting Data from visuals in a report, which has been published to the web.
ArcGIS Maps for Power BI visuals.
Reports containing report-level DAX measures.
Single sign-on data query models.
Secure confidential or proprietary information.
The automatic authentication capability provided with the Embed option doesn't work with the Power BI JavaScript API. For the Power BI JavaScript API, use the user owns data approach to embedding.
You can vote for this feature though.
I am new to power bi. I have power bi account there I created some dashboards with some reports, now I want to consume those dashboard and report using power bi rest API (https://learn.microsoft.com/en-us/rest/api/power-bi/)in our own application. Our application we used the .net core for back-end and angular 6 for the front end. We need to call power bi API from the .net core. If I change report in power it should also reflect in our application. I am new so I am not understanding from where to start?
Start by reading these:
Embedding with Power BI
Tutorial: Embed a Power BI report, dashboard, or tile into an application for your customers
Microsoft Power BI Embedded Playground
In essence, you need to authenticate using Azure Active Directory Authentication Libraries (ADAL), obtain the embedUrl of the dashboard, it's id and the id of the group in which it is. It will be loaded in a div section of a html file using the embedded client. For more details look at the official samples. App Owns Data means that for authenticating you are using one account, which your application knows (e.g. user name and password stored in the configuration), while User Owns Data means that each user uses his own Power BI credentials to access the embedded elements.
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.