Operator Type:
Operator Scope of Action:
Operator Purpose:
Operator First Added:
Operator Altered:
Function [other Function type actions]
Conditional Group [operators of similar scope]
Mathematical [other Mathematical operators]
Baseline
9.0.0
sum_if(group,condition,value)
This computes the Number sum of every value in a group, as filtered by a condition expression. See sum() for a related non-conditional operator.
group describes the notes to be examined and may be any group designator including a find() query. sum_if() omits notes for which $Searchable is false.
In addition, where may be argument that designates a particular (single) note other than this.
condition is action code forming a valid conditional query test, i.e. it equates to true when matched. Some query-style operators terms may allow use of regular expressions.
value can be any expression, but is typically an attribute value. It can also be the number 1, i.e. if the test is true from that item then add one to the count.
For example,
$MyNumber = sum_if(children,$Prototype=="p_Problem",1);
sums the number of children of the current note whose prototype is 'p_Prototype'. If tested value is a string with spaces, e.g. "p Prototype" vs. "p_Prototype" then use double quotes around the value.
The newer count_if() offers a more intuitive method of counting matches rather than the value of matched items.