How to Add Power BI to PowerApps
Combining the rapid-development capabilities of PowerApps with the rich data visualizations of Power BI lets you create truly powerful analytical applications for your team. Instead of making users switch between an app for doing work and a report for seeing results, you can bring the insights directly into the workflow. This guide will walk you through exactly how to embed and filter Power BI visuals right inside your Power App.
Why Combine Power BI and PowerApps?
Integrating these two powerhouse Microsoft tools does more than just make your app look good, it fundamentally changes how your team interacts with their data. By embedding Power BI tiles, you move from static information to a dynamic, interactive experience.
- Provide Contextual Analytics: Display data that is directly relevant to what the user is seeing in the app. For example, when viewing a specific client's profile, a Power BI tile can automatically display their purchase history, support ticket trends, or sales performance.
- Create a Single Source of Truth: Keep your team on one platform. A sales manager shouldn't have to open a separate app to see team performance, they can see a real-time leaderboard dashboard right inside the CRM Power App they use every day.
- Enhance User Experience: Interactive charts, maps, and gauges are far more engaging and informative than simple text or numbers. This lets users explore data, spot trends, and understand performance without leaving the application.
- Accelerate Decision-Making: When key metrics are available right where the work gets done, your team can make faster, data-backed decisions without breaking their flow.
What You'll Need to Get Started
Before you jump in, let's make sure you have all the necessary pieces in place. The setup is straightforward, but you'll need the right permissions and assets ready to go.
- A PowerApps License: You need an account with permission to create and edit PowerApps.
- A Power BI Pro or Premium License: Free Power BI users can build reports for themselves, but embedding and sharing require a Pro or Premium license. This is essential for your app users to see the embedded tiles.
- An Existing Power App: You can start with a finished app or a blank canvas ready for development. The process is the same.
- A Published Power BI Report and Dashboard: The key here is that you don't embed a full report directly. You first pin a visual from your report to a Power BI dashboard. It's this "tile" on the dashboard that you'll be adding to your Power App.
- Proper Sharing Permissions: The users of your Power App must also have permission to view the Power BI dashboard you are embedding. You can manage this by sharing the dashboard directly with them or by adding them to the Power BI workspace.
How to Add a Power BI Tile to Your Power App: A Step-by-Step Guide
With your report published and a visual pinned to a dashboard, you're ready to integrate it. The initial process takes just a few clicks.
Step 1: Prepare Your Power BI Dashboard and Tile
First and foremost, your visualization needs to exist as a tile on a dashboard within the Power BI service. If it's only in a report, this process won't work.
- Navigate to your report in the Power BI service (app.powerbi.com).
- Hover over the visual you want to embed.
- Click the "Pin visual" icon (it looks like a thumbtack).
- Choose to pin it to an existing dashboard or create a new one.
Once pinned, this visual becomes a "tile" that PowerApps can connect to.
Step 2: Add the Power BI Control to Your App
Now, let's switch over to your app canvas in the PowerApps Studio.
- On the screen where you want the visual, go to the Insert tab in the top navigation ribbon.
- Click on Charts in the menu.
- Select Power BI tile from the dropdown list.
A generic Power BI tile placeholder will appear on your canvas. The next step is to tell it which tile to display.
Step 3: Connect the Control to Your Power BI Data
With the new placeholder tile selected, use the properties pane on the right side of the screen to link it to your actual data.
- In the Properties pane, you'll see a section for Data.
- Click the Workspace dropdown and select the Power BI workspace where your dashboard is saved.
- Next, click the Dashboard dropdown and choose the dashboard that contains your tile.
- Finally, open the Tile dropdown and select the specific visual you want to display.
Just like that, your Power BI visual should now appear live inside your Power App! You can resize and reposition it just like any other control.
Making it Dynamic: Filtering Power BI Dashboards in Your App
Showing a static dashboard is useful, but the real power comes from making it dynamic. You can set it up so that when a user selects an item in your Power App – like a product from a list – the Power BI tile automatically filters to show data for just that product. This is done by manipulating the tile's TileUrl property.
Here’s how to build a dynamic URL that filters your tile based on a user's selection in a gallery control.
Understanding the Filtered URL Structure
The magic happens with an OData filter – a special query string we append to the Power BI tile's URL. The basic formula consists of three parts:
"BASE_TILE_URL?$filter=TableName/FieldName eq 'FILTER_VALUE'"
- BASE_TILE_URL: This is the unique web address for your Power BI tile.
- ?filter=: This is a standard query parameter that tells Power BI you want to filter the data.
- TableName/FieldName eq 'FILTER_VALUE': This is the actual filter logic, which specifies the data table, the column name, and the value to filter by.
How to Set Up Dynamic Filtering
Let's walk through an example. Imagine you have a gallery named ProductGallery that displays a list of your products, and you want to filter a Power BI sales chart to show data for the selected product.
1. Find Your Base Tile URL
First, you need the base URL of the tile you embedded. You don't need to hunt for this manually.
- In PowerApps, select the Power BI tile you just added.
- In the property dropdown (top left of the formula bar), select TileUrl.
- The formula bar will show a long URL string in quotes. Copy this entire string. This is your base URL.
2. Build the Dynamic Formula
Now, select the TileUrl property of your Power BI control and replace the static URL with a formula that builds the dynamic URL. Our formula will take the base URL and append a filter based on the product selected in ProductGallery.
Let's assume your sales data in Power BI is in a table called Sales, and the product name column is called ProductName. The formula would be:
"YOUR_BASE_TILE_URL_YOU_COPIED_EARLIER?$filter=Sales/ProductName eq '" & ProductGallery.Selected.ProductName & "'"
Let's break that formula down:
"YOUR_BASE_TILE_URL...?": The static URL for your tile, ending with the?$filter=` syntax to start the filtering logic.Sales/ProductName eq ': The table and column to filter in Power BI, followed by the "equals" operator and a single quote character. OData requires single quotes for text values.& ProductGallery.Selected.ProductName &: This is the dynamic part from your Power App. It retrieves the value of theProductNamecolumn from whichever item is currently selected inProductGallery.'": A closing single quote to complete the text value filter.
Once you set this formula, your analytics chart will update in real-time as you click on different items in your gallery, creating a seamless and powerful analytical experience for your users.
Tips, Tricks, and Common Troubleshooting
Integrating systems can sometimes come with a few hiccups. Here are some solutions to common issues you might run into.
- Error: "This Content isn't available." This is almost always a permissions issue. Remember, just because a user has access to the Power App doesn't mean they can see the Power BI content. Ensure every user of the app is also shared on the Power BI dashboard.
- The Filter Doesn't Work: Usually, this points to a small syntax error in your
TileUrlformula. Double-check that your table name (Sales) and column name (ProductName) exactly match what's in your Power BI dataset. A good trick is to build the full URL with a sample value in a text editor, paste it into a web browser, and see if it works there. If it doesn't, refine the syntax until it does. - Slow App Performance: Each Power BI tile needs to load data and render visuals, which can impact app performance. Use embedded tiles where they add the most value, but avoid overloading a single screen with too many of them.
- Data Looks Stale: The data in your Power BI tile respects the refresh schedule of the underlying Power BI dataset. It does not update in real-time with changes made in your Power App's data source. Make sure your Power BI refresh schedule is set appropriately for your business needs.
Final Thoughts
By embedding Power BI tiles, you can transform a simple Power App into a rich, context-aware analytical tool. Following the steps to add the tile and correctly configure the filtered URL enables you to deliver targeted, valuable insights right where your users need them most.
While deep integrations like this are perfect for building robust internal apps, marketing and sales teams often need fast answers from many different platforms without setting up dashboards from scratch. We built Graphed to solve this by ditching the complexity. Instead of building manual reports, you can connect tools like Google Analytics, Shopify, and Salesforce in one click, then just ask questions in plain English to get real-time dashboards and insights in seconds.
Related Articles
How to Connect Facebook to Google Data Studio: The Complete Guide for 2026
Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.
Appsflyer vs Mixpanel: Complete 2026 Comparison Guide
The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.
DashThis vs AgencyAnalytics: The Ultimate Comparison Guide for Marketing Agencies
When it comes to choosing the right marketing reporting platform, agencies often find themselves torn between two industry leaders: DashThis and AgencyAnalytics. Both platforms promise to streamline reporting, save time, and impress clients with stunning visualizations. But which one truly delivers on these promises?