Integrating PowerApps and Power BI to build Multifaceted Apps

By | September 4, 2019

Introduction:

PowerApps and Power BI can work together regardless of who is hosting. You can embed a PowerApps inside Power BI or vice versa.

By combining Power BI and PowerApps together users can build great apps possessing powerful analysis and visualization as well as capability of enabling people to act right away at the same place and time.

Let’s see how Power BI and PowerApps can play together!

1. Embedding PowerApps in Power BI report

a. First, create a Power BI report. Go to Visualization pane and click on Import a Custom Visual >> Import from marketplace.

PowerApps and Power BI

b. Sign in with your Power BI credentials and open marketplace window. Search for PowerApps in it.

PowerApps and Power BI

c. Add PowerApps, after which a success message will be displayed and simultaneously, PowerApps button will appear on the visualizations pane.

PowerApps and Power BI

d. Click on PowerApps button, this will add the PowerApps content to the Power BI report as shown below:

PowerApps and Power BI

e. You can choose an existing app from the list. Please note that creating and editing PowerApps from Power BI desktop is not supported yet.

PowerApps and Power BI

f. Choose an existing app which you want to incorporate in your Power BI report.

PowerApps and Power BI

g. The selected PowerApps will be shown in the Power BI report after signing in with PowerApps credentials as shown below. Save and publish the report.

Here, in our example the Power BI report consists of a canvas app which inputs personal details of the user and creates contact information in Dynamics 365 CRM. The existing contacts are displayed on a table on the right side.

PowerApps and Power BI

h. On refreshing the dataset on Power BI workspace the recently created contacts by PowerApps can be seen in the contacts list. Otherwise, after the daily scheduled refresh of dataset, the newly created records will be displayed.

You can place the Power BI report in Power BI dashboard and can share it with the Power BI dashboard of CRM Dynamics.

PowerApps and Power BI

2. Embedding Power BI tiles in PowerApps app

a. To show a Power BI tile, add the new Power BI tile control to your app.

PowerApps and Power BI

b. Choose the tile you want to show by setting its Workspace, Dashboard and Tile properties in the Data tab of the options panel.

PowerApps and Power BI

c. The Power BI visual will appear on your design surface. Save and publish the app.

PowerApps and Power BI

Here, in our example the opportunities are displayed based on the selection of Contact in the Power BI tile of PowerApp.

d. Make sure your data connections have been shared with all users.​ Once shared, the PowerApps app will be accessible by all users who have permissions to access the app.

If PowerApps app is not shared with another user then it would not be accessible to them. Here, the same Power BI report which is shown in above example is opened by another user of the same organization but since the canvas app is not shared with this user, the PowerApps part would not be accessible to this user as shown below:

PowerApps and Power BI

However in order to make the Power BI content visible to other users, the dashboard where the tile comes from needs to be shared with the other users on Power BI. This ensures that Power BI sharing permissions are respected when Power BI content is accessed in an app.

As shown below, the Power BI Dashboard and tiles will not be visible to other user in PowerApps until those Power BI dashboards and tiles are shared with that user.

PowerApps and Power BI

Once shared, the dashboards and tiles will be visible and can be displayed in the Power BI tile of PowerApps by another user.

PowerApps and Power BI

Conclusion:

In this way, you can integrate PowerApps and Power BI to build multifaceted apps as per your business requirements.

 

One thought on “Integrating PowerApps and Power BI to build Multifaceted Apps

Leave a Reply

Your email address will not be published. Required fields are marked *