skip to main content
Corticon Studio: Rule Modeling Guide : Filters and preconditions : What is a filter? : Full filters
 

Try Corticon Now
Full filters
By default, each Filter you write acts as a full filter. This means not only will the data not satisfying the Filter 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:
Figure 171. Ruletest for Full Filter
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 which 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 figure above, confirms the behavior.
Why would we want a Filter to behave this way? Perhaps because, if these are the only drivers seeking a policy, 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 a very easy way to specify and control which Policy entities are affected. 
Note: Full filtering, or maximum filtering, is also the original behavior of Filters (and of their Precondition/Filter counterparts in prior releases of Corticon Studio), so for backward compatibility purposes with older models written with these expectations, we have kept it this way as new versions of Corticon have been released over the years. We wouldn't want to change an important behavior like this and have older Rule Sets begin acting completely differently from their authors' intentions.

Disabling a Full Filter

In testing you will find times when you might want to remove one filter. Instead of deleting the filter, you can simply disable it by right-clicking the rule and then choosing Disable, as shown:
Once 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.