Need for Project Management Dashboard
Project Management Dashboards provide metrics about the status of the assigned projects. PMD (Project Management Dashboards) show information about the project, including time required, resources allocated and financial cost. Most companies work on multiple projects at the same time, and it is necessary for them to have at least a basic Project Management Dashboard. Most of these dashboards are built using custom code. In this blog we will go through all the important steps of building a basic Project Management Dashboard using PowerApps. To achieve this, we will depend heavily on cascading dropdowns.
Steps to follow to build a Project Management Dashboard
For this blog we will assume that “Contoso” is a software company and its expertise is in the following practices:
- SharePoint
- AI
- Power BI
Each practice can have multiple clients underneath it.
Each client can have multiple projects signed with the software company.
Each project can have single or multiple resources working on it.
1) To start the process, we will need to create a SharePoint list named “Contoso Project Management List” with the following columns:

“Practice”: It is a text value, and it will contain the Practices, in this scenario “SharePoint, AI or Power BI”
“Client”: It will contain the Clients for any specific above-mentioned Practice.
“Project Task”: It is a text value, and it will contain the Projects for any specific Client.
“ProjectTaskAssignedTo”: It will contain the names of the people/ resources working on the task.
“CommentsAndTasks”: It will contain the comments and tasks for a particular resource.
Arrange Data in the SharePoint list in the following format:
- I) SharePoint (Practice)
Apollo Technologies (Client)
SharePoint Migration (Project Task)
Adams Baker (ProjectTaskAssignedTo)
New SPFx Webparts (Project Task)
Clark Davis (ProjectTaskAssignedTo)
Evans Frank (ProjectTaskAssignedTo)
DieHard Batteries (Client)
Automating Existing Lists Processes (Project Task)
White Xiang (ProjectTaskAssignedTo)
- II) AI(Practice)
Loans Approved(Client)
Prediction Model For Loan Return(Project Task)
Ghosh Hills (ProjectTaskAssignedTo)
Irwin Jones (ProjectTaskAssignedTo)
Lean Cuisine (Client)
Prediction Model For Fish Farming (Project Task)
Klein Lopez (ProjectTaskAssignedTo)
III) PowerBI(Practice)
Apollo Technologies (Client)
PowerBI Reports For SharePoint Lists (Project Task)
Quinn Reily (ProjectTaskAssignedTo)
Smith Trott (ProjectTaskAssignedTo)
5-Hour Energy (Client)
Reports For Consumer Spending Pattern In Winter Months (Project Task)
Mason Nalty (ProjectTaskAssignedTo)
This data should be arranged in the following format in the list, as shown in the figure below.
2) To create PowerApps, first visit the link https://make.powerapps.com. From the given options, select “Canvas app from blank”


3) Create a PowerApps with this UI/UX.
The four dropdowns should be named Dropdown1, Dropdown2, Dropdown3 and Dropdown4.
4) These four dropdowns should be cascading and dependent upon the previous dropdown.
After choosing the Practice, the relevant Project, the relevant Project Task and then the resources associated with that Project should be chosen respectively
5) In the “Items” property of “Dropdown1” enter this code.

Distinct(‘Contoso Project Management List’,Practice)
This code is bringing the Distinct “Practice” column values from the ‘Contoso Project Management List’ list and showing them in the dropdown.
6) In the “Items” property of “Dropdown2” enter this code.
Distinct(Filter(‘Contoso Project Management List’, Practice = Dropdown1.Selected.Result),Client)
This code is similar to the first, except that the dropdown values are now dependent upon “Dropdown1”
and the “Filter” is used to achieve this result.
7) In the “Items” property of “Dropdown3” enter this code.
Distinct(Filter(‘Contoso Project Management List’, Practice = Dropdown1.Selected.Result && Client=Dropdown2.Selected.Result),’Project Task’)
The dropdown values in dropdown 3 are now dependent upon “Dropdown1”
and “Dropdown2” both.
8) In the “Items” property of “Dropdown4” enter this code.
Distinct(Filter(‘Contoso Project Management List’, Practice = Dropdown1.Selected.Result && Client=Dropdown2.Selected.Result && ‘Project Task’=Dropdown3.Selected.Result),ProjectTaskAssignedTo)
The dropdown values in dropdown4 are now dependent upon the First three dropdowns.
The dropdowns are now following the same hierarchy as was shown in Step1.
9) By adding the following code in the textbox, you can easily add comments and tasks for any particular resource related to the assigned task.
First(
Filter(
‘Contoso Project Management List’,
Practice = Dropdown1.Selected.Result && Client = Dropdown2.Selected.Result && ‘Project Task’ = Dropdown3.Selected.Result && ProjectTaskAssignedTo = Dropdown4.Selected.Result
)
).CommentAndTasks

10) To patch the comment to a user, add the following code in the “Submit Task” button. See the figure for reference.
Patch(
‘Contoso Project Management List’,
First (
Filter (
‘Contoso Project Management List’,
Practice = Dropdown1.Selected.Result && Client = Dropdown2.Selected.Result && ‘Project Task’ = Dropdown3.Selected.Result && ProjectTaskAssignedTo=Dropdown4.Selected.Result
)
),
{CommentAndTasks: TextInput1.Text}
);


As you can see the comments can be submitted and retrieved from PowerApps for the resources assigned to the Project.
Conclusion:
A project management dashboard might seem simple, but it is one of the most useful tools of project management. PMDs are used to increase collaboration, track allocated budget, handle time constraints and workload. As of now most of the PMD’s are custom built. With PowerApps, OOB features can be used to build the required functionality, in a much shorter time.