Embed Power BI paginated reports
With Power BI embedded analytics, you can create Power BI content that displays paginated reports in a fully integrated and interactive application. Embed paginated reports using the solution that works best for you, embed for your customers or embed for your organization.
This article describes how to embed paginated reports using the embedding sample tutorials.
Prerequisites
To get started, you need:
Your own Microsoft Entra tenant setup
A capacity
If you don't have an Azure subscription, create a free account before you begin.
Method
To embed a paginated report using the sample app, follow these steps:
Step 1 - Create a workspace
As you're using a service principal to sign into your application, you need to create a workspace.
Your service principal must also be an admin or member of the Power BI workspaces.
Step 2 - Create a capacity
Before you import or upload a paginated report to embed, you must assign the workspace containing the report to a capacity. There are two types of capacity you can choose from:
- Power BI Premium - To embed a paginated report, you need an EM or P SKU. For more information about this subscription, see What is Power BI Premium?.
- Azure Power BI Embedded - You can purchase a capacity from the Microsoft Azure portal. This subscription uses the A SKUs. For details on how to create a Power BI Embedded capacity, see Create Power BI Embedded capacity in the Azure portal.
The following table describes the resources and limits of each SKU. To determine which capacity best fits your needs, see the which SKU should I purchase for my scenario table.
Capacity Nodes | V-cores | RAM (GB) |
---|---|---|
EM1/A1 | 1 | 2.5 |
EM2/A2 | 2 | 5 |
EM3/A3 | 4 | 10 |
P1/A4 | 8 | 25 |
P2/A5 | 16 | 50 |
P3/A6 | 32 | 100 |
Step 3 - Assign a workspace to a capacity
Once you create a capacity, assign your app workspace to that capacity.
To assign a capacity to a workspace using a service principal, work with the Power BI REST API. When you're using the Power BI REST APIs, make sure to work with the service principal object ID.
Note
You can also import paginated reports into a workspace using the Power BI REST APIs.
Step 4 - Create and upload your paginated report
You can create your paginated report using Power BI Report Builder, and then upload the report to the service.
Note
The person who uploads the paginated report needs a Power BI Pro or Premium Per User (PPU) license to publish to a workspace.
Step 5 - Embed content using the sample application
Follow the steps in the embed content for your customers tutorial. Skip Step 4 - Create and publish a Power BI report and work with the paginated report you uploaded, instead of the sample report suggested in the tutorial.
To use a Power BI semantic model as a data source:
- Make sure the tenant setting Allow XMLA endpoints and Analyze in Excel with on-premises datasets is enabled.
- In the Power BI portal, set the XMLA endpoint to Read Only or Read Write as described in enable read-write for a Premium capacity. You only need to set up the endpoint once per capacity.
- Generate a multi-resource embed token with the dataset ID specified in the request, and the XmlaPermissions set to Read Only.
To use a single sign-on (SSO) enabled data source:
- Power BI supports SSO-enabled data sources if the data sources directly connect to the paginated report or connect to a Power BI semantic model that's the data source of the paginated report.
- When you embed a paginated report with SSO-enabled data sources, you must provide the identity blob for the data source in the
DatasourceIdentity
at the time you generate a multi-resource embed token.
For more information on embedding tokens, see Embedded analytics access tokens.
Considerations and limitations
- For a full list of supported datasets and their authentication methods, see Supported data sources for Power BI paginated reports.
- You must use a service principal. You can't have a master user.
- You can't work with a Premium Per User (PPU).
- When you embed a paginated report with a Power BI semantic model, two conditions apply:
- The paginated report and the Power BI semantic model must reside in a Premium per capacity or Embedded workspace (they can reside in two different workspaces).
- The person who generates the embed token must have Write permissions in the workspaces of both the report and the semantic model.
- You can't currently embed a paginated report connected to Azure Analysis Services with single sign-on (SSO) enabled.
- Paginated reports don't support client-side events (like
loaded
orrendered
). - Paginated reports don't support client-side setAccessToken API (you can not update acccess token without reloading the report).
- Embedding paginated reports with a real-time dataset (push dataset) is not supported.