Bringing Power BI Visuals into Your Power Apps Canvas
Bridge the gap between Power Apps' native controls and Power BI's rich visualization engine using embedded tiles and reports.
Power Apps ships with a few solid built-in chart controls—column, line, and pie charts. For straightforward data summaries, they work well. However, when your users expect the rich interactivity and visual polish of a full analytics dashboard, you quickly hit a wall. The solution is to embed Power BI tiles directly into your canvas app. This approach delivers a seamless, code-light experience that hands the heavy lifting of visualization back to Power BI. Of course, it does assume your organization has the right Power BI licensing (Pro or Premium Per User) in place.
In this guide, we will build an interactive operations dashboard for a retail chain using embedded tiles and a full report embed.
The Scenario: A Regional Sales Hub
A retail company wants a single Power App that district managers can use to view sales performance across their stores. Instead of rebuilding every chart natively in Power Apps, the development team pins existing Power BI visuals into the app. They pair them with drop-down filters so each manager can quickly focus on their specific region.
We will use a Power BI dataset called StoreSales that contains columns like RegionName, ProductCategory, and Revenue. The visual we will embed is a clustered bar chart showing Revenue by ProductCategory.
Step 1: Publish and Pin the Power BI Visual
Before you can embed anything, the data must be in the Power BI Service.
- Open your report in Power BI Desktop.
- Select the chart you want to embed (e.g., the Revenue by Product Category bar chart).
- Click Publish to push the report to the Power BI Service.
- Navigate to the report in the Power BI Service.
- Select the same chart and click the Pin icon.
- Pin it to a new dashboard called Retail Ops Dashboard.
Once pinned, the visual is available as a tile that Power Apps can reach.
Step 2: Insert the Power BI Tile Control
Now switch to Power Apps Studio.
- Create a new blank canvas app or open an existing one.
- Go to the Insert pane, expand Media, and select Power BI tile.
- If you are not already signed in, sign in to your Power BI account.
- In the property pane on the right, choose the Workspace, Dashboard (
Retail Ops Dashboard), and the Tile (the Revenue by Category chart you pinned).
Your chart now renders live inside the canvas app. Resize the control to fit your layout.
Step 3: Add an Interactive Dropdown Filter
The real magic happens when you let users filter the embedded visual without leaving the app. We will add a dropdown to select a region.
Insert a Dropdown control and place it near the tile. Set its Items property:
["North", "South", "East", "West"]
Now we need to tell the Power BI tile to listen to that dropdown. Select the tile control.
- Set its
AllowNewAPIproperty totrue.
AllowNewAPI = true, the Power BI tile ignores any filter string you append to the TileUrl property. This is the most common reason for filtering to fail silently.- Next, update the
TileUrlproperty. The generated base URL will look something like the example below, with a Power BI URL filter appended to it:
"https://app.powerbi.com/embed?dashboardId=abc123...&filter=StoreSales/RegionName eq '" & ddl_Region.Selected.Value & "'"
This formula concatenates the base embed URL with a standard Power BI filter. The single quotes inside the string (') wrap the selected filter value so the final URL resolves to something like:
https://app.powerbi.com/...&filter=StoreSales/RegionName eq 'North'
Test the app. When you change the dropdown selection, the Power BI tile should automatically refresh to show data for the selected region.
Step 4: Embed a Full Interactive Report
A single tile is great for a focused KPI, but what if your users need the full Power BI experience—cross-filtering between visuals, drill-downs, and slicers?
You can embed an entire report using the same tile control.
- Open your report in the Power BI Service.
- Navigate to File > Embed report > Secure embed.
- Copy the full URL from the dialog.
- In Power Apps, insert a new Power BI tile control (or reuse the current one).
- Paste the copied URL into the
TileUrlproperty. Be sure to wrap it in double quotation marks.
"https://app.powerbi.com/reportEmbed?reportId=...&groupId=..."
The control now hosts a fully interactive Power BI report. Page navigation, cross-filtering between charts, and slicers all work natively. Note that users must still have the appropriate Power BI permissions to view this report.
Security and Licensing Considerations
- Licensing: Every user who interacts with the embedded tile or report requires a Power BI Pro license, or the workspace must be assigned to a Power BI Premium capacity (which allows free users to consume content).
- Row-Level Security (RLS): If your Power BI dataset uses RLS, the embedded object automatically respects the logged-in user’s identity. This makes the scenario above very powerful—you can have one report and one app, and each manager will only see their own region.
Common Mistakes and Troubleshooting
| Symptom | Likely Cause |
|---|---|
| Tile displays “You need a Power BI license” | User lacks Pro license, or workspace isn’t on Premium capacity. |
| Filter has no effect on the tile | AllowNewAPI is not set to true. |
| Filter has no effect (but API is enabled) | The table/column names in the filter string are wrong. URL filters are case-sensitive and must match the exact model names. |
| Embedded report is tiny | The tile control resizes based on its container. Adjust the width and height of the control or the screen. |
| Dropdown value with an apostrophe breaks the filter | Single quotes inside the value (e.g., Manager’s Region) break the URL syntax. Consider filtering by a numeric ID instead. |
Recommendation
Pairing Power BI tiles with Power Apps gives you the best of both worlds: rich, interactive analytics without a heavy custom development effort. Use single pinned tiles for targeted KPIs on form screens, and switch to a full report embed when you need an exploratory dashboard experience.
This approach saves hours of trying to replicate complex Power BI visuals using native charts, and it keeps your app lightweight and maintainable.
References
- Original technique reference: Matthew Devaney – Interactive Charts & Reports With Power BI Tiles In Power Apps
- Power BI tile control in Power Apps [Microsoft Learn]
- Power BI URL filter syntax [Microsoft Learn]