max(number) max([number, number]) max(number, number, ...) [number, number].max()
max(3, 5, 4) /* Output: 5 */ /* Assume prop("Num") contains 20 */ [prop("Num"), 13, 5].max() /* Output: 20 */ [1, 2, 3].max(4, 5) /* Output: 5 */ /* Other data types must be converted to number */ max(1, toNumber(true), toNumber("3"), 9) /* Output: 9 */ /* Here, toNumber is used to conver true and "3" to numbers.
Good to know:
max() and min are useful for finding maximum and minimum values across multiple properties. They’re not useful for finding max/min values across multiple database rows.
For that, you’ll want to associate the rows to another common row via a Relation, then use a Rollup to calculate the max value among them. Here’s a small example database.
This approach still has limitations, but since Notion hasn’t provided a true query language for its database feature, it’s the best we can currently do (unless you create an external tool via the official API).
The example database below contains quarterly sales data for a fictional company. The Max property displays the dollar amount from the best quarter, while the Best Quarter property displays which quarter had the best performance.
max(prop("Q1"), prop("Q2"), prop("Q3"), prop("Q4"))
max() accepts numbers or number properties.
Here, we simply pass each quarter’s property to the
max() function in order to find the maximum quarterly sales value.
if( prop("Q1") == prop("Max"), "Q1", if( prop("Q2") == prop("Max"), "Q2", if( prop("Q3") == prop("Max"), "Q3", "Q4" ) ) )
Here’s an example of how we can make
max() more useful.
Using a nested if statement, we compare the numeric value of each quarter property to that of the Max property.
If a quarter’s value matches that of the Max property, we output that quarter’s name.