Integrating Power BI reports into Power Apps allows users to visualize data dynamically and interact with insights within their applications. Below is a detailed, step-by-step guide to embedding Power BI reports in Power Apps:
Step 1: Prerequisites
Before you begin, ensure you have the following:
- Power BI Account (with a Power BI Pro or Premium Per User (PPU) license)
- Power Apps Account (with the appropriate permissions)
- Power BI Report Published to a Workspace (Premium capacity is required for sharing externally)
- Power BI Service Principal Enabled (for API access, if needed)
- Power Apps Environment Set Up (with the appropriate Dataverse/CDS access if required)
Step 2: Publish the Power BI Report
- Create a Report:
- Open Power BI Desktop.
- Connect to your data source (Excel, SQL, Dataverse, etc.).
- Design the report with necessary visuals.
- Publish the Report:
- Click File → Publish → Power BI Service.
- Choose an appropriate workspace (avoid “My Workspace” for shared apps).
- Confirm the upload.
- Check Report in Power BI Service:
- Go to Power BI Service.
- Open the workspace → Reports → Click the report to ensure it works.
Step 3: Enable Embed Permissions in Power BI
- Open Power BI Service.
- Navigate to the Workspace where the report is published.
- Click on Settings (gear icon).
- Under Export and Sharing Settings, ensure:
- “Allow users to share and embed” is enabled.
- Ensure RLS (Row-Level Security) is properly configured if necessary.
Step 4: Get the Power BI Report Embed Link
- Open the Report in Power BI Service.
- Click on the File menu.
- Select Embed Report → Choose Website or Portal.
- Copy the Embed URL provided.
Step 5: Embed Power BI Report in Power Apps
There are two methods to integrate Power BI reports into Power Apps:
Method 1: Using Power BI Tile Control
- Open Power Apps Studio (https://make.powerapps.com).
- Create a new canvas app or open an existing one.
- Click Insert → Charts → Select Power BI Tile.
- Choose the Power BI Workspace, Dashboard, and Tile.
- Save and run the app.
Method 2: Using an Embed URL with an IFrame
- Open Power Apps Studio.
- Create a new canvas app.
- Click Insert → Add HTML Text Control.
- Inside the HTML Text control, use this sample IFrame:
<iframe width="800" height="600" src="YOUR_EMBED_URL_HERE" frameborder="0" allowFullScreen="true"></iframe>
- Replace
"YOUR_EMBED_URL_HERE"
with the embed link from Step 4. - Adjust width and height as needed.
- Save and preview the app.
Step 6: Use Power BI Embedded API for Interactive Reports
If you need dynamic embedding with filters, follow these steps:
1. Register an Azure AD App for Authentication
- Go to Azure Portal.
- Navigate to Azure Active Directory → App Registrations.
- Click + New Registration.
- Enter a name (e.g., “PowerApps-PowerBI”).
- Set Redirect URI to:
https://login.microsoftonline.com/common/oauth2/nativeclient
- Click Register.
- Copy the Application (client) ID.
2. Set API Permissions
- In the Azure AD App settings, go to API Permissions.
- Click Add a permission → Select Power BI Service.
- Choose:
Report.Read.All
Dataset.ReadWrite.All
- Click Grant Admin Consent.
3. Generate a Client Secret
- In Azure AD App, go to Certificates & secrets.
- Click + New client secret.
- Set an expiration date and copy the value (store it safely).
4. Use Power BI Embedded Component in Power Apps
- Go to Power Apps Studio.
- Insert a Power BI Embedded Control.
- Bind it to the report using the Azure AD authentication.
Step 7: Apply Power BI Filters in Power Apps
To dynamically filter the report in Power Apps:
- Add a Dropdown or Textbox in Power Apps.
- Modify the embed URL with a filter:
https://app.powerbi.com/reportEmbed?reportId=REPORT_ID&filter=Table/Column eq 'Value'
- Use Power Apps variables like:
Set(FilterValue, Dropdown1.Selected.Value)
- Update the Power BI IFrame URL dynamically.
Step 8: Share and Deploy the Integrated Power Apps
- Save and Publish the Power Apps.
- Share the App with required users.
- Ensure they have Power BI licenses to access embedded reports.
Step 9: Monitor and Troubleshoot
- If reports do not load, check user permissions in Power BI.
- If using Row-Level Security (RLS), ensure appropriate roles are assigned.
- Use Power Apps Monitor to debug issues.
Final Thoughts
This guide provides a comprehensive step-by-step integration of Power BI with Power Apps. Depending on your use case, you can either use Power BI Tile control, an IFrame embed, or the Power BI API for a seamless experience.
Would you like help with Power Automate flows to automate Power BI and Power Apps actions?