The Schedule Board in Microsoft Dynamics 365 Project Service Automation (PSA) is a great tool for finding resources to staff your projects. The filter on the left panel of the Schedule Board allows the user to filter the resources that appear.
By default, the filter panel allows the user to filter based on eight different fields:
- Organizational units
- Resource types
- Pool types
- Business units
Some of these filters may be unnecessary for scheduling your projects. For example, territory may not have bearing on scheduling projects and is only taking up space on the filter. To optimize the user experience, the filter can be modified to add and remove fields.
To modify the filter, navigate to the Other Settings section of the Tab Settings of the Schedule Board. The Filter Layout field controls which fields appear in the filter and is written in Universal FetchXML (UFX). Use the Save As button to create a different layout which can be used on the current tab and other tabs as well. Editing the UFX is easiest in a code editor such as Visual Studio Code or Notepad++.
Removing Fields from the Dynamics 365 PSA Schedule Board
Removing fields from the filter is an easy task. Each field in the filter is listed in the code between control elements. For example, removing the following line of code will remove the territory field from the filter:
<control type=”combo” source=”entity” key=”Territories” unspecified-key=”UnspecifiedTerritory” label-id=”ScheduleAssistant.West.Territories” entity=”territory” multi=”true” />
For more complex controls that provide a drop-down list of values, the entire contents between <control and </control> should be removed.
Adding Fields to the Dynamics 365 PSA Schedule Board
Adding fields to the filter requires more effort, because the additional fields also must be added to the filter query. The Retrieve Resources Query is the field that contains the UFX controlling the search criteria of the filter. If you remove fields from the filter, the Retrieve Resources Query does not need to be modified. If you add fields to the filter, then you must also add them to the Retrieve Resources Query.
Customizing the Schedule Board Scenario
Let’s examine a scenario in which you have particular resources that you would like booked on projects before other resources are booked in order to guarantee they meet their utilization targets. To allow users to find these resources, you would like to add a filter to the Schedule Board that finds resources with a target utilization greater than a user provided value.
First, update the Filter Layout to add the field like this:
<control type=”number” key=”TargetUtilization” label-id=”Utilization Target” entity=”bookableresource” attribute=”msdyn_targetutilization” />
Second, update the Retrieve Resources Query to include a filter for the target utilization like this:
<condition attribute=”msdyn_targetutilization” operator=”ge” ufx:if=”$input/TargetUtilization”>
<ufx:value select=”$input/TargetUtilization” attribute=”value”/>
With these minor updates, the filter will now allow you to search for resources based on target utilization. Depending on the type of field you would like to add to the filter, the query updates can become more complex. Microsoft has published a step by step guide for a more complex scenario using a linked entity. You can also reach out to a Velosio consultant with any questions.