Full filters
- Last Updated: June 9, 2021
- 2 minute read
- Corticon
- Version 7.2
- Documentation
By default, each filter you write acts as a full filter. This means not only will the data not satisfying the Filter expression be filtered out of subsequent evaluations, but in cases where this data is a collection where no elements survive the filter, the parent entity will also be filtered out!
Here is the Testsheet with three juvenile drivers:
Notice two important things about this Ruletest's results: first, none of the
Driver entities in the Input are older than 16, which
means none of them survives the filter. Second, because the parent Policy entity does not contain at least one Driver that satisfies the filter, then the parent Policy itself also fails to survive the filter. If no Policy entity survives the filter, then rule Column 0 has no data upon which
to act, so no Policy is assigned a startDate equal to today. The Testsheet's
output, shown in the preceding figure, confirms the behavior.
Why would you want a Filter to behave this way? Perhaps because, if these are
the only drivers seeking a policy, then there must be at least one driver of legal age to
warrant issuing a policy. While you will probably find that the full filter behavior is
generally what you want when filtering your data, it might be too strict in other
situations. If other rules on the Rulesheet act or operate on Policy, then a maximum filter gives you an easy way to specify and control which
Policy entities are affected.
Disabling a Full Filter
When testing, you might want to remove one filter. Instead of deleting the filter, you can disable it by right-clicking the rule and then choosing Disable, as shown:

After the filter is disabled, all applications of the filter are rendered in gray, as shown:

A disabled full filter is really no filter at all. You can perform the corresponding action to again Enable the filter.