maxif
Returns the maximum value of the expression across the rows of the group for which the predicate is true.
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: bool
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: int
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: long
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: real
Syntax
maxif(val, predicate)Parameters
Prop
Type
Given a dynamic field
This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.
Returns: string
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: datetime
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: timespan
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: guid
Syntax
maxif(val, predicate)Parameters
Prop
Type
Returns: dynamic
Examples
Example 1 — Most voyages among the survivors of each clan
datatable(clan:string, warrior:string, voyages:long, survived:bool)[
"Lothbrok", "Ragnar", 42, false,
"Lothbrok", "Bjorn", 31, true,
"Fairhair", "Harald", 25, true,
"Fairhair", "Halfdan", 12, true
]
| summarize maxif(voyages, survived) by clan| clan (string) | maxif_voyages (long) |
|---|---|
| Fairhair | 25 |
| Lothbrok | 31 |