Have you considered publishing and integrating your Power BI reports, dashboards and tiles into your custom application?
In this post I will give you an overview of Power BI Embedded, and how far you can use it as the reporting and analytics tool for your application.
What is Power BI Embedded?
Similar to other apps built on Microsoft Azure, like Machine Learning and IoT, Power BI Embedded enables ISVs to integrate visuals into their apps, allowing their customers to make quick decisions in context and with confidence from any device.
Your 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 want your customer to feel they are inside your application, not in Power BI.
You want to keep your developers focused on your solution, instead of spending development time building reports and analytics features.
You don’t want to ask all your customers to acquire a Power BI Pro License.
How to Start
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 also 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
Access Levels
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 already 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.
References
Here are some useful links and resources
Power BI pricing:
https://powerbi.microsoft.com/en-us/pricing/
Azure capacity pricing:
https://azure.microsoft.com/en-gb/pricing/details/power-bi-embedded/
How to create a Power BI Embedded capacity:
https://docs.microsoft.com/en-us/azure/power-bi-embedded/create-capacity
How to embed your Power BI dashboards, reports and tiles:
https://powerbi.microsoft.com/documentation/powerbi-developer-embedding-content/
Source code examples:
https://powerbi.microsoft.com/documentation/powerbi-developer-embed-sample-app-owns-data/