Use decision tables to help you resolve a complex decision that depends on multiple
factors.
Use decisions tables to help you reach outcomes that depend on multiple factors. In these
tables, each factor is a decision input. For example, if you are trying to make a decision about
car insurance coverage, your inputs might include the location where the insured person lives,
the age and accident history of the insured person, the car make, the car model, and the car
year. This logic can save time and present a more organized, readable format than using a script.
Decision tables provide a single point where you can create, view, and modify decisions.
To interact with Decision Tables in
script, use the Decision Table API.
Components of a decision
- Decision Table [sys_decision] records
- Decision table records represent a single decision. In this record, you specify which table
you want to use for your answers. This record also contains related lists where you can create
your decision inputs and decisions.
- Decision inputs [sys_decision_input] records
- Decision input records represent your inputs that are used to obtain answers in a decision.
These inputs can include a variety of types, including strings, references, true/false inputs,
and dates. Each decision input has a specified input type and can be assigned a default
value.
- Decision [sys_decision_question] records
- Each decision record represents a decision that is based on your inputs. Use the condition
builder on the decision record form to create a condition that is based on the inputs for this
decision. Then, you can select an answer record for this decision. The answer record can be
any record from the table that you have defined in the Decision Table record. You can select
the same answer record for more than one decision.
- Answer records
- Answer records represent answers that are reached using different decision input values.
Answers records can be records on any table, but you need to choose the table when creating
your Decision Table record. You could, for example, use the sys_choice table to use existing
choice records. From the example about insurance coverage, you could create a table where
each record contains details about the levels of insurance coverage.
Example: Use a decision table to determine a discount rate
The following example shows a decision table. In this example, you see two inputs, Units
Ordered and Cash on Delivery. The two possible answers, Yes and No, are reached depending on the
answers to the two questions. For example, a customer would qualify for a silver discount when
ordering more than 50 items or paying in cash, and get a gold discount if doing both.
Table 1. Sample decision table — discount rates
Decision inputs |
Decision input entries |
More than 50 units ordered |
No |
No |
Yes |
Yes |
Cash on delivery |
Yes |
No |
Yes |
No |
Decision Answers |
Discount |
Silver Discount |
Bronze discount |
Gold discount |
Silver discount |