- 3 minutes to read
Formula - Max
The max function, one of the Math functions in the Formula plugin for Search Field Expressions, returns the highest numeric value in the content.
Syntax
max(content [, unique])
Parameters
| Parameter | Required | Description |
|---|---|---|
content |
✅ Yes | The numeric values to compare: body, context, or another Formula function such as xPath, jsonPath, csv, or length. |
unique |
❌ No | Unquoted true or false; default true for this function. false: a value that appears several times counts every time. true: identical values count once. Values are compared as text, so 100 and 100.00 are different values. A quoted 'true' is an error. |
Returns
- One number: the highest numeric value in
content. - Values are compared as numbers, so
1337is higher than42even when the values are JSON strings (see Example 2).
Quoting, nesting, and how content is resolved are described in the Formula language rules.
Examples
Example 1: Highest order amount in an XML message
Input
Message Body:
<ns0:Orders xmlns:ns0="SupplyChain.Schemas/1.0">
<Order>
<Id>1337</Id>
<Amount>666</Amount>
<City>Grums</City>
<Partner>QWNtZQ==</Partner>
</Order>
<Order>
<Id>1338</Id>
<Amount>42</Amount>
<City>Karlstad</City>
<Partner>QWNtZQ==</Partner>
</Order>
</ns0:Orders>
Formula
max(xPath('Orders/Order/Amount', body))
Result
666

xPath extracts the amounts 666 and 42; the highest is 666.
Example 2: Highest value extracted from JSON
Input
Message Body:
{"a":[{"b":"1337"},{"b":"8"},{"b":"42"}]}
Formula
max(jsonPath('a[*].b', body))
Result
1337

jsonPath extracts 1337, 8, and 42; the highest is 1337.
Example 3: Highest value in a CSV column stored in message context
Input
Message Context:
| Key | Value |
|---|---|
Ids |
the CSV text below |
"face","suit","value"
"king","spades","13"
"queen","spades2","12"
#"jack","spades3","666"
"ten","spades4","10"
Formula
max(csv(1, ',', 2, '#', context('Ids')))
Result
13

csv skips the header row, reads column 2 (the value column, counted from 0), and ignores the row that starts with #; the highest of 13, 12, and 10 is 13.
Example 4: Longest value extracted from JSON
Input
Message Body:
{a:[{b:'This'},{b:'is'},{b:'Formula Plugin'}]}
Formula
max(length(jsonPath('a[*].b', body)))
Result
14

length returns 4, 2, and 14; the highest is 14, the length of Formula Plugin.