Skip to main content
Version: Java (Groovy)

maxBy

maxBy returns the maximum value for each group. Null values are ignored.

Syntax

table.maxBy()
table.maxBy(groupByColumns...)

Parameters

ParameterTypeDescription
groupByColumnsString...

The column(s) by which to group data.

  • NULL returns the maximum value for each column in the table.
  • "X" will output the maximum value of each group in column X.
  • "X", "Y" will output the maximum value of each group designated from the X and Y columns.
groupByColumnsColumnName...

The column(s) by which to group data.

  • NULL returns the maximum value for each column in the table.
  • "X" will output the maximum value of each group in column X.
  • "X", "Y" will output the maximum value of each group designated from the X and Y columns.
groupByColumnsCollection<String>

The column(s) by which to group data.

  • NULL returns the maximum value for each column in the table.
  • "X" will output the maximum value of each group in column X.
  • "X", "Y" will output the maximum value of each group designated from the X and Y columns.

Returns

A new table containing the maximum value for each group.

Examples

In this example, maxBy returns the maximum value for each column.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.maxBy()

In this example, maxBy returns the maximum value, as grouped by X.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.maxBy("X")

In this example, maxBy returns the maximum value, as grouped by X and Y.

source = newTable(
stringCol("X", "A", "B", "A", "C", "B", "A", "B", "B", "C"),
stringCol("Y", "M", "N", "O", "N", "P", "M", "O", "P", "M"),
intCol("Number", 55, 76, 20, 130, 230, 50, 73, 137, 214),
)

result = source.maxBy("X", "Y")