What it does
The Power BI tile control drops Power BI content into a canvas app screen. Despite the name it can render a dashboard, a report or a single tile depending on which API version you put it in, and it can be filtered from app state.
Key facts
- The control has two modes, set by the AllowNewAPI property, and the default is False. On False you pick a workspace, dashboard and tile through the designer, or supply a TileUrl. On True you paste any Power BI Embed URL into TileUrl and can embed a dashboard, report or tile.
- AllowNewAPI = True isn't supported on Power Apps mobile or in some embedded hosts such as Teams and SharePoint, because the mobile player doesn't handle authenticating the Power BI URL request.
- Filtering differs by mode. On the new API you use query string parameters in the URL. On the original API you append
&$filter=<Table>/<Column> eq '<Value>'to TileUrl — one filter only,eqonly, string columns only, pinned visualisation tiles only, and it breaks if table or column names contain spaces. - R and Python script visuals can't be filtered either way.
- LoadPowerBIContent loads and unloads the content on demand. Microsoft's guidance is not to have more than three Power BI tiles loaded at once in an app.
- PowerBIInteractions is a trade-off, not a toggle you can have both ways: True gives the user Power BI interactivity but suppresses the control's OnSelect; False gives you OnSelect but a static tile.
- Sharing the app isn't enough. You must also share the dashboard the tile comes from, and the app respects Power BI permissions for that content.
- The control isn't available in China and isn't supported on some GCC High and DoD environments.
When to use / skip
Reach for this when a canvas app needs a chart that already exists in Power BI and would be painful to rebuild — trends, aggregates over data the app doesn't connect to, anything with real modelling behind it. Skip it when the app has the data already, because a native chart control is faster, filterable properly and doesn't drag a second product into the licence conversation. Also skip it if the app is meant to be used on phones: the newer embedding mode doesn't work there, and the older one limits you to a single string equality filter, which is rarely what anyone actually wants.
Configuration decisions
- Which API mode you commit to, since it decides mobile support and the entire filtering approach. Pick this before building, not after.
- Whether the screen needs interactivity or a tappable tile that navigates elsewhere in the app — you can't have both on the same control.
- How many tiles a screen carries, and whether you drive LoadPowerBIContent off screen visibility to keep the count down.
- How the underlying dashboard gets shared alongside the app, and who owns keeping those two access lists in step.
- Whether you're passing filter values from the app at all, given how narrow the original-API filter syntax is.
Gotchas
- The default is the old API. Plenty of apps get built against the designer picker without anyone realising they've opted into single-filter, string-only, tile-only behaviour.
- Users open the app, see empty space where the chart should be, and report it as an app bug. It's almost always that the Power BI dashboard wasn't shared.
- Filters on the original API fail quietly when a column name contains a space. Computed fields in the report that concatenate or cast values are the usual workaround.
- Three loaded tiles is a soft ceiling, and it's low. Apps that put a tile in a gallery row will crawl.
- Embedding a Power BI URL directly in an iFrame-style control isn't supported on Power Apps mobile at all, so a design that works beautifully in the browser can be dead on a tablet.
Consultant notes
- Ask the "does this need to work on a phone?" question first. It eliminates one of the two modes immediately and saves a rebuild.
- Be honest that this is the least polished of the Power BI embedding surfaces. If the client wants a rich embedded analytics experience, a model-driven app dashboard or a proper embedded application will serve them better.
- Two products, two permission models, one user complaint. Make sure someone owns keeping app sharing and dashboard sharing aligned, and write it into the support runbook.
- If the requirement is really "let the user act on what they see in Power BI", consider inverting it — put the canvas app inside the Power BI report using the Power Apps visual instead.
Revisit if a supported report-embedding control replaces the tile control, or if mobile support for the newer API lands.