Data entry input validation rules
1. Abstract
Data entry is an essential component of any planning application within Board. With a dependency on end users, applications should aim to minimize human errors.
When data entry is enabled in Board, it allows our end users to input information and write it back into the Board Data Model, contributing to downstream calculations and outputs. While our end users are functional experts with the knowledge to input this information, simple controls ensuring that their inputs are appropriate will increase process controls and minimize user errors.
2. Context
These simple controls are often developed in procedures, resulting in error messages for end users preventing the execution of subsequent procedure steps. While this approach is successful in requiring the end user to adjust their inputs, this approach:
- Requires a procedure to be executed by an end user.
- Requires procedure development.
- If more than one input needs to be evaluated, often requires more than one conditional statement and error message.
- If users save data entry via check mark or F9 shortcut, the procedure is bypassed, and invalid dataset is saved.
3. Content
Instead of configuring validation controls in procedures, we can use simple Input Validation Rules within a Layout. These are easy to configure and improve user experience with clearly defined controls.
Let’s explore 3 different scenarios where we want to limit the inputs on a block enabled for data entry:
- Entering a requested “Approval By” date for a new CapEx project.
- Entering projected Project Spend for a new CapEx project.
- Selecting a project in scope for a CapEx implementation.
3.1 CapEx - Enter the requested “Approval By” date
The requested “Approval By” date entered by users references the solution’s approval workflow and needs to be entered as a future date.
In my layout below, I have the following blocks:
a) Date cube storing the Approval By Date
b) Date algorithm outputting today’s date
c) Locking cube
With the following Input Validation Rules:
Board will only accept date inputs that are in the future. If a prior date or today’s date is entered, Board will show the error “You must select a future date” and the end user will not be able to Save Data Entry.
If the checkmark is clicked with the visible error message, the following pop-up appears, preventing the end user from saving data entry.
CapEx - Enter project spend
In the second scenario, a user is entering Project Spend that needs to be a positive input.
In my layout below, I have the following blocks:
a) Quarterly input cube
b) Locking cube
With the following Input Validation Rules:
Board will only accept inputs that are zero or positive. If a negative value is entered for any combination, Board will show the error “Please enter a positive value” and the end user will not be able to Save Data Entry.
If the checkmark is clicked with the visible error message, the same pop-up once again appears, preventing the end user from saving data entry.
3.3 CapEx – Select project in scope
In the third scenario, the assumption is that the user can plan one project at a time, then selects the CapEx project to be planned.
In my layout below, I have the following block:
a) Project Planning Selection
The same result can be also reachable with validation rule as “dt(a)=1”, but since we want to validate only for populated values, we nested the logic above.
Board will only accept one project per time. If multiple projects are entered, Board will show the error “Please select only one member” and the end user will not be able to Save Data Entry.
The same logic works with the Project Group and the nested Project on the layout level, where you also want to check that at least one project is present; please see below:
If the checkmark is clicked with the visible error message, the same pop-up once again appears, preventing the end user from saving data entry.
4. CONCLUSION
The validation rules are easy to configure and improve user experience with clearly defined controls.
The benefits of the Input Validation Rule approach include:
- Easy to configure directly in layout
- No additional cube required
- No procedure required
- Clear to end user what needs to be edited
- Prevents invalid inputs by end users
Comments
-
Thanks @Erin Myers for the insights on this article!
4 -
This is a great article on an underutilized functionality in Board!
2