Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Understand what a Decision Table is in ProcessMaker Platform.
A Decision Table is a two-dimensional grid that outlines various potential business rules and their corresponding data outputs. These outputs subsequently influence the workflow routing for any Request that utilizes the Decision Table. Essentially, the Decision Table serves as a framework for evaluating business rules and determining the appropriate routing for Process Requests.
Decision Tables are Decision Model and Notation (DMN) files. DMN is a standard notation to model and run decisions in business contexts, used by business analysts, developers, and Process designers to manage complex decision-making scenarios.
Decision Tables provide the following benefits:
Design complex sets of business rules easily and with greater readability and transparency than using Gateway-type elements with Sequence Flow elements to determine workflow routing.
Decision Tables require no coding experience, allowing most Process designers to easily design business rules.
Test a Decision Table to evaluated expected outcomes from decisions within the table. There is no need to start Requests to evaluate decisions.
Decision Tables are referenced from within Process models, but function independently of Process models. This makes them reusable and more flexible than only using BPMN elements.
Case data can be reference in Decision Tables using request variables.
Each row in a Decision Table represents one decision. As a best practice, describe each decision for greater clarity. Collectively, this set of decisions represents business rules for that use case.
Each decision contains the following:
Input(s): Inputs, represented by decision variables, are the conditions that must occur for each decision. A decision may have one or more inputs and at lease one output.
Output(s): When certain conditions are met in a Decision Table, an output is generated and saved in a decision variable. The decision variable must then be mapped to a Request variable which will be used for workflow routing. It's essential for each decision to have at least one output, however, a Decision Table can have more than one output, which means it can influence multiple Request variables. Outputs are highlighted in blue at the top of the table.
Each input and output for a decision has the following:
Label: Labels for both inputs and outputs provide brief descriptions of their functions. These labels are distinct from those used in Screen Builder or the Modeler because Decision Tables operate independently of Processes. You can identify these labels easily in the Decision Table header as they are displayed in bold.
Decision variable name: Both inputs and outputs must have a decision variable assigned to them. Decision variables display below their labels in the header.
A decision variable represents the value of input and output columns in a Decision Table. These variables exist inside a Decision Table only, and they must be mapped to Request variables in order to access their value in a Request. The name of the decision variable can be identical to that of a Request variable, but is not required.
By default, decision variables are of string
data type, but can be changed to any of the following data types:
boolean: Represents one of two possible values (usually denoted TRUE
and FALSE
).
date: Represents a date. The date is in the following format: YYYY-MM-DD
. For example: 2020-07-01
.
datetime: Represents a datetime. The datetime is in the following format: YYYY-MM-DD HH:MM:SS
. For Example: 2020-07-01 14:25:15
.
number: Represents a number.
string: Represents a string.
time: Represents time. For example: 14:25:15
.
formula: The decision variable's value is computed using a formula. This formula can be built using Request variables, constants and arithmetic operators. For Example: price * 0.15
The formula data type can only be used for input columns in a Decision Table.
The following are some examples of conditions. Take into account that the Decision Tables uses the Drools engine to evaluate business rules, which is based on the Decision Model and Notation (DMN) and Friendly Enough Expression Language (FEEL) standards. Therefore, to view more condition examples, see Drools Documentation and Drools DMN FEEL handbook.
String examples: See the following examples that use strings within conditions:
Concatenate strings by using the +
symbol as follows:
"Spring" + "2024" = "Sring2024"
Split strings using the split
function. The next example splits a string by specifying the delimiter symbol, in this case that is space (\\s
).
split( "Kate Norris", "\\s" ) = ["Kate", "Norris"]
Date example: The following example uses a date, specifically to get its year by using .year
after the date:
date( "2023-12-31" ).year = 2023
Number examples: See the following examples that use number ranges within conditions. These examples use range syntax instead AND
or OR
operators, which are not supported by the DMN and FEEL specifications:
A range where the number is greater than or equal to 100000 and less than 199999:
[ 100000 .. 199999 ]
A range where the number is less than 100000:
] 0 .. 99999 ]
Formula examples: The following example calculates the value of a Decision column using a formula.
ShippingCost = weight*2
NetIncome = income-(income*tax)
Use mustache syntax {{variable_name}}
to use Request variables and Magic Variables in your Decision Table conditions. In this way, expressions can compare input values against other dynamic variables coming from the request data model. This syntax avoids hard-coded constant values.
There are different uses, such as the following:
Some FEEL expressions require an explicit reference to the variable. For example, contains(variable, string)
. Use mustache brackets to reference the variable in order to search for the string inside of it. You may also use mustache brackets to reference a separate value for a string if it is not a constant.
Follow these steps to reference Collection data:
In a condition, enter {{
. A gray-colored data icon suggests possible Collections to call values within it.
Select a Collection.
Press the TAB
key. The autocomplete enters a mustache syntax expression with a Data icon to access the selected Collection. If there are no Collections, the suggestion disappears.
ProcessMaker Platform displays all Decision Tables in one location. Any Decision Table developed by any Process Designer can be used in any Process. This makes it easy to manage Decision Tables.
Follow these steps to view all Decision Tables in your organization:
Log on to ProcessMaker Platform.
Click the Designer option from the top menu. The Designer Welcome Screen displays.
Do one of the following:
The Decision Tables page displays the following information in tabular format about Decision Tables:
Name: The Name column displays the name of the Decision Table. Click the name to edit the Decision Table in Decision Table Editor.
Description: The Description column displays the description of the Decision Table. See Configure a Decision Table.
Category: The Category column displays to which Decision Table Category the Decision Table is assigned.
Modified: The Modified column displays the date and time the Decision Table was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your user profile's Time zone setting is specified.
Created: The Created column displays the date and time the Decision Table was created. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your user profile's Time zone setting is specified.
Use the Search function to filter all Decision Tables from the Decision Tables page based on your entered text.
Follow these steps to search for a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Enter in the Search setting the text to filter Decision Tables using any of the following criteria:
Name: Filter by the Decision Table name that displays in the Name column.
Category: Filter by the Decision Table Category name that displays in the Category column.
Description: Filter by the Screen description that displays in the Description column.
As you enter text into the Search setting, Screens display that match your entered text.
If there are no search results, the following message displays: No Results.
Understand what Decision Table Categories are and how they can help organize your Decision Tables.
Decision Table Categories can be in active or inactive status. Following is a description of each status:
Active: Active Decision Table Categories can have Decision Tables assigned to them.
Inactive: Inactive Decision Table Categories cannot have Decision Tables assigned to them.
The Categories tab displays the following information in tabular format about Decision Table Categories:
Name: The Name column displays the name of the Decision Table Category. The Decision Table Category named Uncategorized is the default Category.
Status: The Status column displays the status of the Decision Table Category. Below is a description of each status:
Active: Active Decision Table Categories can have Decision Tables assigned to them. The Decision Table Category named Uncategorized is active by default.
Inactive: Inactive Decision Categories cannot have Decision Tables assigned to them.
Decision Table: The # Decision Table column displays how many Decision Tables in your organization have been assigned to that Decision Table Category.
In the Category Name setting, enter the name of the new Decision Table Category. The Decision Table Category name must be unique from all other Decision Table Category names in your organization and can only use apostrophe characters ('
) and spaces. This is a required setting.
From the Status drop-down menu, select one of the following options for the Decision Table Category's status:
Active: Active Decision Table Categories can have Decision Tables assigned to them.
Inactive: Inactive Decision Table Categories cannot have Decision Tables assigned to them.
This is a required setting.
Click Save.
Click the Categories tab. The Decision Table Categories display.
The Categories tab displays the following information in tabular format about Decision Table Categories:
Name: The Name column displays the name of the Decision Table Category. The Decision Table Category named Uncategorized is the default Category.
Status: The Status column displays the status of the Decision Table Category. Below is a description of each status:
Active: Active Decision Table Categories can have Decision Tables assigned to them. The Decision Table Category named Uncategorized is active by default.
Inactive: Inactive Decision Categories cannot have Decision Tables assigned to them.
Decision Table: The # Decision Table column displays how many Decision Tables in your organization have been assigned to that Decision Table Category.
Enter in the Search setting the text to filter Decision Table Categories by name.
As you enter text into the Search setting, Decision Table Categories display that match your entered text.
If there are no search results, the following message displays: No Results.
Edit the following information about the Decision Table Category as necessary:
In the Category Name setting, edit the name of the new Decision Table Category. The Decision Table Category name must be unique from all other Decision Table Category names in your organization and can only use apostrophe characters ('
) and spaces. This is a required setting.
From the Status drop-down menu, change the following options for the Decision Table Category's status:
Active: Active Decision Table Categories can have Decision Tables assigned to them.
Inactive: Inactive Decision Table Categories cannot have Decision Tables assigned to them.
This is a required setting.
Click Save.
Click Confirm. The following message displays: The category was deleted.
Create a new Decision Table that can be referenced from any Rules Task connector in any Process model.
Follow these steps to create a new Decision Table:
In the Name setting, enter the name of the Decision Table. Decision Table names must be unique in your organization and can only use apostrophe characters ('
) and spaces. This is a required setting.
In the Description setting, enter the description of the Decision Table.
Click Save. The following message displays: The Decision Table was created.
Decision input columns display immediately below the Inputs section. Decision output columns display immediately below the Outputs section. Dots above each column separator indicate where to add a new column to the right of the existing column.
Follow these steps to add or remove an input or output column:
To add a column, do one of the following:
Add a new column to the left or right of a selected column: Right-click the column, and select one of the following options:
Add a new column to the left of the selected column: Select the Add Column Left option.
Add a new column to the right of the selected column: Select the Add Column Right option.
The new column displays. By default, decision variables use the string data type.
Replace the placeholder values for the input/output label.
Replace the decision variable names with those for your decision.
To remove a column, do one of the following:
Right-click on the label of the decision column to be removed, and then select the Remove option.
Click Confirm. The decision column will be removed.
Follow these steps to change the data type for a decision variable:
Identify the decision input or output variable you want to change. The current data type is displayed in the lower-right corner of the decision variable.
Select one of the following data types:
boolean: The decision variable represents one of two possible values (usually denoted TRUE
and FALSE
).
date: The decision variable represents a date. The date is in the following format: YYYY-MM-DD
. Example: "2020-07-01"
.
datetime: The decision variable represents a datetime. The datetime is in the following format: YYYY-MM-DD HH:MM:SS
. Example: "2020-07-01 14:25:15"
.
number: The decision variable represents a number.
string: The decision variable represents a string.
time: The decision variable represents a time. Example: 14:25:15
.
formula: The decision variable is calculated using a formula (only available for input columns). Example: income-(income*tax)
The formula data type can only be used for input columns.
Formulas in a Decision Table are built using Request variables, constants, and arithmetic operators to generate values for input columns. Follow these steps to add a formula to a Decision Table column:
Identify the decision input or output variable you want to change. The current data type displays in the lower-right corner of the decision variable.
Right-click on the current data type.
Select the data type formula.
Click OK to save your changes, otherwise, click Cancel.
Follow these steps to add a decision to a Decision Table:
Do one of the following:
Add a new row above or below a selected decision: Right-click on the decision, and select one of the following options:
Add a new decision above the selected decision: Select the Add Row Above option.
Enter the business rule (input and output values) for the new decision.
To remove a decision, do one of the following:
Click Confirm. The decision is removed if it was not the only decision in that Decision Table.
Follow these steps to move an input or output column in a Decision Table:
Do one of the following:
Input and output columns of a Decision Table can be resized to improve data visibility. Follow these steps to remove an input or output column from a Decision Table:
Hover your mouse between two column headers until the shape of the cursor changes.
Drag the column to the desired width.
Follow these steps to save a Decision Table:
Click Save. The following message displays: The Decision Table was saved.
To save a Decision Table, click Close.
Click Confirm to save changes prior to closing the Decision Table.
From the Assets pane in the Designer Welcome Screen, mouse-hover over the Decision Tables icon, and then select View All Decision Tables.
Click the Decision Tables icon from the left sidebar. The Decision Tables tab displays all Decision Tables in the Decision Tables page.
Use Decision Table Categories to organize your . Organizing your Decision Tables into Categories makes it easier to search for a Decision Table based on its assigned Category. Assign multiple Decision Table Categories to a Decision Table if necessary. For example, assign a Decision Table named "Business Rules for Loan Approval" to the "Banking" and "Loans" Decision Table Categories.
Modified: The Modified column displays the date and time the Decision Table Category was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your Time zone setting is specified.
Created: The Created column displays the date and time the Decision Table Category was created. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your Time zone setting is specified.
See the permissions or ask your Administrator for assistance.
Follow these steps to create a new :
.
Click the +Category button. The Create Category screen displays.
See the permissions or ask your Administrator for assistance.
Follow these steps to view :
to ProcessMaker Platform.
Click the Designer option from the top menu. The displays.
Click the Decision Tables icon from the left sidebar. The Decision Tables tab displays all Decision Tables in the Decision Tables page.
Modified: The Modified column displays the date and time the Decision Table Category was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your Time zone setting is specified.
Created: The Created column displays the date and time the Decision Table Category was created. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your Time zone setting is specified.
​, including how to sort columns or how many items display per page.
See the permissions or ask your Administrator for assistance.
Follow these steps to search for :
.
See the permissions or ask your Administrator for assistance.
Follow these steps to edit a :
.
Click the menu, and then select the Edit Category option for the Decision Table Category to edit. The Edit Category screen displays.
See the permissions or ask your Administrator for assistance.
To delete a Decision Table Category, no Decision Tables can be assigned to it. If any Decision Tables are assigned to the Decision Table Category, its Delete icondoes not display. Reassign those .
Follow these steps to delete a :
.
Click the menu, and then select the Delete Category option for the Decision Table Category to delete. A message displays to confirm deletion of the Decision Table Category.
See the permissions or ask your Administrator for assistance.
. The Decision Tables page displays.
Click the +Table button. The Create Table screen displays.
From the Category drop-down menu, select one or more to associate with this Decision Table. In doing so, Decision Table Categories may be sorted from the Decision Tables page. To remove a Decision Table Category that is currently selected, click the icon for that selection or press Enter
when the drop-down is visible. This is a required setting.
From the Project drop-down menu, optionally select the that this Decision Table becomes an asset. This setting only displays Projects of which you are a member. To remove a Project that is currently selected, click the icon for that selection or press Enter
when the drop-down is visible.
See an example of how to create a .
Add a new column to the right of a selected column: Hover over the dot to the right of the existing column to add a new column, and then click the icon.
Click the label of the decision column to be removed, and then click the icon. Note that the Inputs and Outputs sections must have at least one decision input and output in each section. Attempts to remove a decision column when it is the only column in that section are ignored.
The Caution screen displays to confirm the removal of the decision column.
See the example in when using quotation marks as punctuation in the output string.
.
Right-click on the current data type.
.
Click the formula icon to open the editor and enter your formula. The column's value will be calculated based on the specified formula. In the example shown here, income and expense are Request variables that will be assigned values during a request.
.
Add a new decision below a selected decision: Hover over the dot to the right of the existing row to add a new row, and then click the icon.
Add a new decision below the selected decision: Select the Add Row Below option. The new decision row displays.
Click the index number for that decision row, and then click the icon. Note that the Decision Table must have one row. Attempts to remove a decision row when it is the only decision displays the following message: It cannot be delete because there should always be a rule..
Right-click on the index number for that decision row to be removed, and then select the Remove option.
The Caution screen displays to confirm the removal of the decision.
. Decision input columns display immediately below the Inputs section. Decision output columns displays immediately below the Outputs section.
Move a decision input column to the left or right of other input columns: Right-click on the decision input's label, and then select the Move Column Left option or the Move Column Right option to move that column to the left or right of its current position in its section, respectively. Note that decision input columns cannot be moved outside of the Inputs section. Attempts to move a decision input column to the right of the Output section are ignored.
Move a decision output column to the left or right of other output columns: Right-click on the decision output's label, and then select the Move Column Left option or the Move Column Right option to move that column to the left or right of its current position in its section, respectively. Note that decision output columns cannot be moved outside of the Outputs section. Attempts to move a decision output column to the left of the Input section are ignored.
.
.
Changes made to a Decision Table are also automatically saved. The date and time of the last save are displayed in the top right corner of the Decision Table Editor.
If the Decision Table has unsaved changes, then the Caution screen displays to confirm saving the changes prior to closing the Decision Table.
Import and export data between a CSV file and a Decision Table
In the Decision Table Editor, you have the ability to import data from an Excel or CSV file into a Decision Table. It's important to note that importing data from the imported file will replace any existing Decision Table configuration.
Watch the following product tour to learn how to import an Excel or CSV file into a Decision Table.
Follow these steps to import an Excel or CSV file:
Click Download Format to view a sample format for upload.
Ensure that your file follows this format.
Click the Select file from computer link or drag-and-place the file into the Upload File section.
Click Load. The data from the file will be imported into the Decision Table Editor.
Use the Download Format button to download a sample file and use it to to format your Excel or CSV file.
Test conditions in a Decision Table.
Test the conditions in a Decision Table to ensure they work as expected. If desired, use the Sample Input panel to mock Request variables and Magic Variables enclosed in mustache syntax to test how the Decision Table runs using data you expect.
Follow these guidelines to mock data coming into your Decision Table:‌
​View Decision Tables. The Decision Tables tab displays all Decision Tables.
Select a Decision Table to edit in which to test conditions.
Paste the JSON data model into the Sample Input panel in the Decision Table Editor. If you use any variables as defined in the JSON data model in your Decision Table, the Decision Table Editor uses those variable values during testing.
Mock the variables enclosed in mustaches that your Inputs would reference.
Click Run.
In the Output panel, view the mocked data. If the Decision Table evaluates successfully, its output displays in the Output panel. If the Decision Table does not evaluate successfully, the language engine evaluating the Decision Table displays an error.‌
Import and Export Decision Tables as JSON or DMN files.
Decision Tables can be imported and exported in two ways:
DMN File: Import and export a Decision Table while editing it in the Decision Table Editor. This action creates a file with .dmn
extension which can be used in ProcessMaker and other software that recognize this format.
JSON File: Import and Export a Decision Table from the Decision Tables list. This actions creates a file with .json
extension which can be used in ProcessMaker only.
From the Decision Table Editor, you can import a Decision Table using a .dmn
file that has been exported from the same version of ProcessMaker Platform. Decision Tables viewed in the Decision Table Editor are in .dmn
format because they are Decision Management Notation files.
Importing a .dmn
file will overwrite the existing Decision Table.
Follow these steps to import a Decision Table previously exported directly from the Decision Table Editor:
Click Import. The file imports into the Decision Table Editor.
From the Decision Table Editor, you can export a Decision Table in the .dmn
format which can be imported directly into Decision Table Editor of the same ProcessMaker Platform version. Decision Tables edited in Decision Table Editor are in .dmn
format because they are Decision Management Notation files.
Follow these steps to export a Decision Table directly from Decision Table Editor:
Decision Table Editor exports the Decision Table as a .dmn
file to the default downloads folder.
From the Decision Tables list, you can import a Decision Table using a .json
file that has been exported from the same ProcessMaker Platform version.
ProcessMaker Platform ignores any Projects to which the importing Decision Table was assigned when it was exported.
Follow these steps to import a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click Browse to locate the Decision Table file with .json
extension.
Click Import. The Import Decision Table screen displays to indicate that the Decision Table imported correctly.
The Decision Tables page displays the imported Decision Table with the same name as the original Decision Table except with a number "2" suffix.
If the original Decision Table cannot be imported successfully, the following message displays: Unable to import the Decision Table. Ensure the following:
The .json
file you tried to import is a Decision Table and not another asset type. Other ProcessMaker Platform assets also use the .json
file extension.
The exported Decision Table was exported from the same ProcessMaker Platform version.
From the Decision Tables list, you can export a Decision Table in .json
file format to your local computer. The exported Decision Table may then be imported to the same or another ProcessMaker Platform instance of the same version.
Follow these steps to export a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click Download to download the file in .json
format. The file will be saved in your default downloads folder.
Optionally, rename the default file name if necessary without changing the file extension. As a best practice, specify in the file name that this is an exported Decision Table to distinguish it from other exported assets.
Edit general information about a Decision Table.
Follow these steps to configure a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click the Configure option. The Edit Configuration page displays.
Edit the following information about the Decision Table as necessary:
In the Name setting, edit the name of the Decision Table. Decision Table names must be unique in your organization and can only use apostrophe characters ('
) and spaces. This is a required setting.
In the Description setting, edit the description of the Decision Table.
Click Save.
Follow these steps to edit a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click the Edit option. The Decision Table opens in Decision Table Editor. See Decision Table Editor.
Follow these steps to copy a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click the Copy option. The Copy Table screen displays.
Edit the following information from the original Decision Table as necessary:
In the Name setting, edit the name of the copied Decision Table. After the original Decision Table is copied, the word Copy is suffixed to the original Decision Table's name. This is a required setting.
From the Project drop-down menu, optionally select the Project(s) that this Decision Table becomes an asset.
In the Description field, edit the description of the original Decision Table.
Click Save.
When a Decision Table is deleted, Process models that use that Decision Table in Rules Task connectors are not affected. However, that Decision Table can no longer be referenced from other Process models thereafter.
Deleting a Decision Table from the Decision Tables page cannot be undone.
Follow these steps to delete a Decision Table:
View your Decision Tables. The Decision Tables page displays.
Click the Delete option. The Caution screen displays to confirm the deletion of the Decision Table.
Click Confirm. The following message displays: The Decision Table was deleted.
Adding a Decision Table to a Project adds that Process as an asset to that Project. Any Project member may then use that asset toward the goals of that Project.
Follow these steps to add a Decision Table to a Project:
View your Decision Tables. The Decision Tables tab displays.
Click the Add to Project option. The Add to a Project screen displays.
Optionally, select the Use a copy of this asset option to use a copy of this Decision Table as the Project asset instead of the original. When selecting this option, any revisions made to the original Decision Table do not affect yours in your Project(s), and vice versa. Consider this option a best practice to use, especially if you intend to make changes from the original Decision Table that may not be an asset in any Project.
Click Add. The Decision Table is added as an asset to the selected Project(s).
Expand the File Import menu on the right.
If the format of the file is not correct, the following warning will display.
Importing an Excel or CSV file into a Decision Table will overwrite the current configuration. This action is irreversible, and the users are presented with the following warning before the file is imported.
Click the Import button from the editor menu.
From the Import DMN screen, click the Select file from computer link or drag-and-place the file into the Import DMN screen. Use a Decision Table file with .dmn
file extension.
Click the Export button from the editor menu.
Click the Import button from the menu to the right of the page.
The Import Decision Table screen displays.
Click the menu, and then select the Export option for your Decision Table.
Click Export. ProcessMaker Platform prepares your Decision Table for export. When the file is ready, the following message displays:
Click the Edit iconor click the Decision Table name. See Decision Table Editor for topics.
Click the menu for the Decision Table to configure.
From the Category drop-down menu, select one or more Decision Table Categories to associate with this Decision Table. In doing so, Decision Table Categories may be sorted from the Decision Tables page. To remove a Decision Table Category that is currently selected, click theicon for that selection or press Enter
when the drop-down is visible. This is a required setting.
From the Project drop-down menu, optionally select the Project(s) that this Decision Table becomes an asset. This setting only displays Projects of which you are a member. To remove a Project that is currently selected, click theicon for that selection or press Enter
when the drop-down is visible.
Click the menu for the Decision Table to edit.
Click the menu for the Decision Table to copy.
From the Category drop-down menu, review which Decision Table Categories to associate with this Decision Table. In doing so, Decision Table Categories may be sorted from the Decision Tables page. To remove a Decision Table Category that is currently selected, click theicon for that selection or press Enter
when the drop-down is visible. This is a required setting.
Click the menu for the Decision Table to delete.
Click the menu for the Decision Table to add.
From the Select Project drop-down, select to which Project(s) this Decision Table becomes an asset. To remove a Project that is currently selected, click theicon for that selection or press Enter
when the drop-down is visible.