Page History
Table of Contents class toc-btf
Overview
One of our features is Constraints which can be used to exclude invalid or irrelevant combinations of parameter values from the Scenarios table. Advanced N-way constraints (where N can be 2 or higher) make it possible to create dependencies across any number of parameters which should be a significant time saver when defining complex rules and should expand your ability to apply our tool to highly conditional workflows.
...
after the valid constraint syntax - to indicate that the rest of the line is a comment.
Basics - New Functions
Note: we are using the same set of parameters throughout the article, but that does not mean rules would co-exist in the same model, at the same time. Treat each example as an isolated constraint.
...
I.e., there will be only 2 scenarios in the table where the Discount is No:
VIP | Student | Tier | Discount |
No | No | Bronze | No |
No | No | Silver | No |
When more than 1 value of a given parameter is included in the all() function (like with Tier above), all combinations of values will be treated as valid triggers for the rule (see more in the “Advanced” section below).
...
I.e., some of the possible scenarios (depending on the coverage strength) where the Discount is Yes are:
VIP | Student | Tier | Discount |
Yes | No | Bronze | Yes |
No | Yes | Silver | Yes |
No | No | Gold | Yes |
Yes | No | Platinum | Yes |
Yes | Yes | Gold | Yes |
Advanced Rule Composition
As we have mentioned, two grouping functions can be used in the same rule, one on each side (except for the skip constraint, where the right side behaves the same way it did before this release).
...
The following scenarios will be excluded from the generated table as invalid:
VIP | Student | Tier | Discount | Reserved Seat |
No | No | Bronze | Yes | Yes |
No | No | Bronze | Yes | No |
No | No | Bronze | No | Yes |
No | N/A | Bronze | Yes | Yes |
No | N/A | Bronze | Yes | No |
No | N/A | Bronze | No | Yes |
No | No | Silver | Yes | Yes |
No | No | Silver | Yes | No |
No | No | Silver | No | Yes |
No | N/A | Silver | Yes | Yes |
No | N/A | Silver | Yes | No |
No | N/A | Silver | No | Yes |
Only the Discount = No AND Reserved Seat = No is the valid combination for the trigger in all(). Note that some(Discount[Yes] Reserved Seat[Yes]) still includes the Yes/Yes combination.
...
The following scenarios will be excluded from the generated table as invalid (non-exhaustive list):
Coverage B | Coverage C | Coverage A | Coverage D |
125k | 100k | 250k (i.e. NOT[200k]) | No |
175k | 50k | 200k | Yes |
225k | 100k | 250k (i.e. NOT[200k]) | Yes |
Note: we changed the order of columns for easier review