This is the last article in a 6-part series in which I will explain how you can integrate Power BI, Power Apps, Azure Machine and Dynamics 365 using MS Flow.
For reference here are the descriptions and links to the previous articles.
Instant insights, automation and action – Part 1 Create Power App
Instant insights, automation and action – Part 2 Create Azure Machine Learning Experiment
Instant insights, automation and action – Part 3 Create the Power BI Report
Instant insights, automation and action – Part 4 Register Power BI in Azure Active Directory
Instant insights, automation and action – Part 5 Integrate with MS Flow
In this article I will explain how you can kick off a MS Flow by adding an action to your Power App and then how you can integrate the Power App into a Power BI Dashboard. Data alerts can by tied to tiles in the Power BI Dashboard that can kick off additional flows which will insert records into Dynamics. The complete system is depicted in the diagram below.
Modify the Power APP
In Part 1 of this series we created a simple app that allowed a user to enter new sales data. We now need to go back to this app and modify it. Navigate to Power Apps and edit the app
Once the app is open click on the submit button to select it and then from the Action menu at the top select Flows.
This will open up a new pane in which you can select the flow that we created in Part 5 of this series. Once you have selected the flow enter the following code into the formula expression bar.
PowerApptoAzureMLtoPowerBIbkp.Run(NAME.Text, CHANNEL.Text, REGION.Text, FRESH.Text, MILK.Text, GROCERY.Text, FROZEN.Text, DETERGENT.Text, DELICASSEN.Text,CATEGORY.Text)
This will execute the flow and pass the data values from each of the text input boxes into the flow. You can test the flow by clicking on the play button in the top right-hand corner of the screen.
Save the report and publish it so that the new version with the flow attached to the submit button is available to integrate into Power BI.
Modify the Power BI Report
Next, we will need to modify the Power BI report to drop in a PowerApps visual. Open the Power BI report that we created in Part 3 and add a new custom visual from the marketplace. We need to add the Power App custom visual to the report.
Once the new visual has been successfully added we will add it to a new page in the report. In the Power BI report create a new page and call it Data Entry. We are doing this to keep the report clean and simple. We will integrate various visuals including the Power App in a Power BI Dashboard once we have finished putting the necessary polish in the report.
Drop the new visual onto the canvas of the new page in the report and add any field from the list of fields in the dataset, I used customer name. You should see a screen like the image below.
We are not creating or editing an app since we already built it in Part 1. Click ok and then select Choose app. Select the app we created for entering new whole customer sales data.
Click Add. You may see another warning about creating or editing the app, just ignore this by clicking ok.
New report page should now look like the image below.
Rename Page 1 and call it Wholesale Customer Report. You can spruce up the first page to make it look more appealing. I modified my report to make it look like this.
Once you are happy with the design of the report you need to publish it to Power BI. You can replace the existing report that we created in Part 3. Once the report has been published navigate to the cloud service and go the report that you just published.
Build the Dashboard
It’s now time to build a dashboard. With the report open pin the following visuals to a new dashboard.
To pin a visual to a dashboard click on the visual and select the pin from the menu bar.
A menu like the one below will pop up. Give the new dashboard a name such as Wholesale customer dashboard.
Select pin to create and add the visual to the new dashboard. Repeat this for all of the card visuals in the report except instead of selecting New Dashboard select Existing dashboard and if not already selected pick the Wholesale customer dashboard that we just created.
Next, we will need to pin the Power App visual. Go to the Data Entry page and pin the Power App just like we did for the card visuals. If you are having trouble selecting the pin option you may need to edit the report to pin the visual.
Your dashboard should now look something like this.
Let’s rearrange the tiles and add some new visuals by using Q&A.
First add a new visual by typing the following questions in the Q&A bar at the top of the screen.
Fresh by customer sort by fresh
Pin the visual to the existing Wholesale customer dashboard.
Then place this at the bottom of the dashboard.
Repeat these steps using the following questions:
Milk by customer sort by milk
Grocery by customer sort by grocery
Frozen by customer sort by frozen
Detergent paper by customer sort by detergent paper
Delicassen by customer sort by delicassen
Your dashboard should now look similar to the image below.
Try adding a new customer by using the Power App embedded in the Power BI Dashboard. After you have entered data into each of the input boxes in the Power App hit the submit button and in about 5 seconds or less you should see the customer count go up and your new customer on the dashboard in real-time. Also try entering in a new customer but do not fill out the Category field blank. Notice how even though the field is blank it is still populated by the time it shows up in Power BI, that is because the Azure Machine Learning model is supplying this data.
Integrate with Dynamics 365
The last step is to add a data alert to one of the tiles which will create a record in Dynamics 365. Navigate to the dashboard if not already there and click the … in the top right hand corner of the Fresh tile.
Then select Manage alerts.
This will open a new menu on the right-hand side of the screen. From this screen click + Add alert rule. Create an alert that will fire once the Fresh goes above a certain value. In my case I used 60,000.
For the purposes of this tutorial an alert based on an absolute value is adequate however a better choice would be to create an alert on a relative value such as % change since you do not want to have to go in and modify the alert to increase its threshold every time you surpass it. Click Save and close.
Go back to Manage alerts for this tile (Fresh) and this time select Use Microsoft Flow to trigger additional actions.
This will launch MS Flow. Use the default template to create a new flow triggered from a Power BI alert.
Use the template and select the Alert for Fresh from the Alert id drop down menu. Next select add new step and search for Dynamics 365. Then select Create a new record Dynamics 365.
Your flow should now look like this.
Enter the details for the Dynamics 365 tenant and select the Entity that you want a record created in. For my purposes I created a new task to follow-up with the customer by using the tasks entity. Save the flow and test it out by entering in new sales data using the Power App embedded in the Power BI report. If you have wired up the flow correctly a new record should be created in Dynamics 365 once you have triggered the data alert in your Power BI dashboard.
We have now reached the end of this series hopefully you have realized that by combining Power BI, Power Apps, Flow, Azure Machine Learning and Dynamics 365 you can open up new possibilities which lead to insights, automation and action at the speed of business.
Until next time.