One of the most challenging aspects of developing your own application is adding reporting capabilities. Power BI Embedded gives you the ability to include the capabilities of Power BI while hosting the reports in your application. This post will cover the Power BI Embedded version and provide a curated set of resources that will both introduce you and get you started in developing analytic solutions within your applications.
Power BI Embedded Analytics
Being able to create and view Power BI reports in your applications allows you to embed remarkable, fully interactive reports and visuals into your applications. Using the API set that is available, you can brand, create and view reports as if they were native in your application. Adding the potential of Power BI reporting and analytics, which your customers may already be familiar with, to your application development tool workflow.
This will reduce the required developer resources by automating the monitoring, management, and deployment of analytics while getting full control of Power BI features and intelligent analytics.
As pictured below, there are a number of samples, Power BI Playground – Showcases, that show you how embedded analytics can be used to create compelling analytics that can be added to your applications.
The following resources will take you through the introduction to the platform, included in the extensive FAQ that should answer many of the most popular questions about the service.
- Power BI Embedded Landing Page – Main page and high level links with overview information.
- Power BI Embedded Analytics | Microsoft Azure – Detailed resource links.
- Frequently asked questions about Power BI embedded analytics – ****** This is a great FAQ about the service.
- Video: Power BI Embedded Introduction – In this video, Adam, from Guy in a Cube, walks through what Power BI Embedded is. He talks about how you can get started with Power BI Embedded as well as what resources are available for you.
What is Power BI Embedded Generation 2?
The Power BI Embedded team recently released a new version, Power BI Embedded Generation 2, referred to as Embedded Gen2 for convenience. Embedded Gen2 is currently in preview and is available for embedded subscribers to use during the preview period.
You can still create the original version of the Power BI Embedded resource, called Embedded Gen 1, or create a new Embedded Gen 2 resource. During the preview period, you can run both types of Power BI Embedded capacities in parallel, and assign any workspace to either a Gen1 or a Gen2 capacity.
- Power BI Embedded Generation 2 explained as part of Power BI embedded analytics – Power BI | Microsoft Docs – Overview of changes and improvidements in Gen 2.
How do we Develop with Power BI Embedded?
You can try the experience by using the free Power BI embedded analytics playground. This will provide a hands-on experience with sample code or you can embed your own report. One of the biggest benefits is the ability to browse the interactive showcase and see real-world examples of how a Power BI Embedded environment can be used to augment your solution.
- Power BI Playground – Learning Center – Documentation, Getting Started, Learn about APIs
- Course: Power BI Developer in a Day – This is a 20 video playlist that provides a good overview and initial training for the product.
- Video Set: Power BI Developer Camp – Various videos on the topic of developing for Power BI
- Video: Session 13: Developing in Salesforce with Power BI Embedding – This is a great example of using Power BI Embedded in an application. This uses Salesforce as an example. The code is available on GitHub also.
How to Troubleshoot a Power BI Embedded Application?
One of the most difficult tasks when implementing 3rd party products in your application is to determine what is going wrong. The key to success is a good debugging toolset and workflow. The link below, Troubleshooting your Power BI embedded analytics application, reviews a number of tools, examples, and procedures to help debug your application.
Another key to performance is being able to monitor your Power BI Embedded application. When you have critical applications and business processes relying on Azure resources, you want to monitor those resources for their availability, performance, and operation. The resource links below walk you through the process, how to set it up, and what to look for.
- Troubleshooting your Power BI embedded analytics application – Power BI | Microsoft Docs – Tools and debugging information.
- Monitor Power BI Embedded – Power BI | Microsoft Docs – This article describes the monitoring data generated by Power BI Embedded and how you can use the features of Azure Monitor to analyze and alert on this data.
- Q&A in Power BI embedded analytics – Power BI | Microsoft Docs – Using AI / Q&A in Power BI embedded analytics
Where Can I Find Power BI Embedded Documentation?
I have worked at Microsoft for 15 years and the thing I am most proud of is the developer documentation and samples. Pictured below are different areas highlighted that can get you started.
There are many areas related to Power BI, but a great way to start is the Documentation landing page. The Tutorials and How-To sections of the documentation I find provide a great deal of real-world value.
- Power BI embedded analytics documentation – Power BI | Microsoft Docs – Your first stop guide to Power BI Documentation.
Do you need a Power BI license to view embedded reports?
This is probably the hardest part, selecting a Capacity and SKU as it depends on so many factors. Don’t over-provision, but don’t under-provision. You also have the ability, under some SKUs to autoscale. For information about autoscaling in Embedded Gen 2, see Autoscaling in Embedded Gen 2.
Power BI Embedded is shipped within SKU. Each capacity offers a selection of SKUs, and each SKU provides different resource tiers for memory and computing power. More information can be found here; Capacity and SKUs in Power BI embedded analytics – Power BI | Microsoft Docs
The type of SKU you require depends on the type of solution you wish to deploy. As each development can have its own unique requirements, more detailed information is found here How to configure workloads in Power BI Premium – Power BI | Microsoft Docs. This document will provide details on which workloads are supported for each tier.
However, for creating/editing embedded reports inside your application, the end-user does not need a Pro or Premium Per User (PPU) license as the user isn’t required to be a Power BI user at all.
Power BI embedded analytics includes two solutions, Power BI Embedded as an Azure offering and Embedding Power BI as part of Power BI Premium which is a Microsoft Office offer.
You do need a Power BI Pro or Premium Per User (PPU) license or service principal to use REST APIs. To add reports to a Power BI workspace, an analyst needs either a Power BI Pro or Premium Per User (PPU) license or service principal. Check with your representative for exact licensing requirements. See The following link for more information; Frequently asked questions about Power BI embedded analytics – Power BI | Microsoft Docs.
Note: For publishing, you’ll need one Power BI Pro or Premium Per User (PPU) account.
- Capacity and SKUs in Power BI embedded analytics – Power BI | Microsoft Docs – Explains capacity and SKUs in Power BI embedded analytics
- Power BI embedded analytics capacity planning – Power BI | Microsoft Docs – How to Calculat what type of capacity is needed for a Power BI embedded analytics deployment.
- How to configure workloads in Power BI Premium – Power BI | Microsoft Docs – This article describes enabling and configuring workloads for Power BI Premium capacities.
- Scale your Power BI Embedded capacity – Power BI | Microsoft Docs – This article walks through how to scale a Power BI Embedded capacity in Microsoft Azure. Scaling allows you to increase or decrease the size of your capacity.
- Power BI Embedded Generation 2 Autoscaling – Embedded Gen2 does not provide an out-of-the-box vertical autoscale feature. Instead, you can configure autoscale using various options.
How do Plan for the Power BI Embedded Workload?
Capacity is a dedicated set of resources reserved for exclusive use. It enables you to publish dashboards, reports, and datasets to users, without having to purchase per-user licenses. It also offers dependable, consistent performance for your content.
Calculating what type of capacity is needed for a Power BI embedded analytics deployment, needs to take into account multiple parameters. The issue many face is that they can be hard to predict, especially for new developments without a track record of the workload.
Some of the things to take into consideration when planning your capacity are:
- The data models you’re using
- The number and complexity of required queries
- The hourly distribution of the usage of your application
- Data refresh rates
- Additional usage patterns that are hard to predict.
Note: When moving to production, Power BI embedded analytics requires a capacity (A, EM, or P SKU) for publishing embedded Power BI content.
Source: See the full article on Power BI embedded analytics capacity planning – Power BI | Microsoft Docs for more information.
The Power BI Embedded Analytics Capacity Planning Tool
There is a PowerShell tool that can be used which is available on GitHub; PowerBI-Tools-For-Capacities/LoadTestingPowerShellTool · GitHub.
The tool is used to create automated load tests against your capacities, and lets you choose which report to test, and how many concurrent users to simulate. The tool generates load on a capacity by continuously rendering each report with new filter values to prevent unrealistically good performance due to report caching.
How to Use Row-Level Security (RLS) with Power BI Embedded
Just as in SQL and Power BI desktop, Row-level security (RLS) can be used to restrict user access to data within dashboards, tiles, reports, and datasets. Different users can work with those same artifacts all while seeing different data.
This can be more difficult when you are developing an application. The good news I that embedding supports Row-level Security!! If you’re embedding for non-Power BI users (app owns data), which is typically an ISV scenario, then this article will help.
There’s an example of authoring RLS, and then consuming that within an embedded application. Our example uses the Retail Analysis Sample which is referenced in the source below.
- Restrict data access with row-level security (RLS) for Power BI Desktop – Power BI | Microsoft Docs
- Row-level security (RLS) with Power BI – Power BI | Microsoft Docs – Overview of RLS in Power BI
I hope this has been a useful guide as you start looking at Power BI Embedded as part of your solution flow.
- Frequently asked questions about Power BI embedded analytics – ****** This is a great FAQ about the service.
- Power BI embedded analytics performance best practices – Power BI | Microsoft Docs – This article provides recommendations for faster rendering of reports, dashboards, and tiles in your application.
- Capacity and SKUs in Power BI embedded analytics – Power BI | Microsoft Docs –
- Tutorial: Embed content in your Power BI embedded analytics application – Power BI | Microsoft Docs
- Tutorial: Embed content in your Power BI embedded analytics application enabling better embedded BI insights for your organization – Power BI | Microsoft Docs
- Tutorial: Embed Power BI report in a Power BI embedded analytics application for your customers – Power BI | Microsoft Docs
- Video: Power BI Dev Camp Session 12 Building Multi Language Reports in Power BI – The purpose of this Dev Camp session is to explain how to use the Power BI features for Internationalization and localization from the ground up and to provide the guidance for building reports that support multiple languages.