How to add Power BI visuals to your custom application?
In this post I will show you what you can and how far you can go with Power BI Embedded, using it as the reporting and analytics tool for your application.
Power BI Embedded… what is it?
Power BI Embedded enables ISVs to integrate visuals into their apps, allowing their consumers to make quick decisions in context and with confidence from any device.
Customers don’t need to login to Power BI or to have a Pro license.
Image source: https://azure.microsoft.com/en-gb/services/power-bi-embedded/
Reasons to use Power BI Embedded
Some key reasons you should consider using Power BI Embedded:
- You don’t want to ask all your customers to acquire a Power BI Pro License.
- You want to keep your developers focused on your solution, instead of spending development time building reports and analytics features.
- You want your customer to feel they are inside your application, not in Power BI.
How to Start using Power BI Embedded
Here is what you need to start using Power BI Embedded:
1. A Power BI user with a Pro License
This will be the master account you will use to publish visuals and to connect your application to Power BI, acting as a proxy account
2. A Power BI App Workspace
This is where your reports will be published to. You can have a single workspace with all your visuals or different workspaces for each customer
3. Azure Capacity
This is the dedicated resource in Azure to run your visuals, using an hourly metered model.
You can choose to pause and resume the service to control the billing and easily scale up or down selecting a SKU that fits your needs.
4. Some Code
Of course… some coding is also required using the Power BI APIs and Java Script SDK to generate a token for your reports, dashboards and tiles, and to load these visuals inside your application.
Your code can also interact with your visuals, changing pages, setting filters, etc.
The image below illustrates how a report is processed with Power BI Embedded
Image source: https://docs.microsoft.com/en-us/power-bi/developer/embedding
Levels of Access
Your application controls the authentication and authorisation, restricting the data access.
You can use a different set of visuals for each customer or to share the same visuals across all customer together with some dynamic filters to set data access levels.
Multiple and different users can work with the same visuals, all seeing different data using row-level security.
How far can I go with Power BI Embedded?
Most of the functionalities available in Power BI Service (Web) are also available in Power BI Embedded.
You can use any visual from Power BI store or even build your own custom visualisations to address some specific requirements.
We have clients exploring this to a maximum, using custom visualisations to do some clever integration from the visual context back to their custom application, via web service calls.
Here are some useful links and resources
- How to create a Power BI Embedded capacity:
- How to embed your Power BI dashboards, reports and tiles:
- Source code examples:
- Azure capacity pricing:
- Power BI pricing:
Diego Eick Moreira
Microsoft Specialist at codeHB