By utilizing the aggregation and grouping features, you can establish groups within the Result Matrix and subsequently perform aggregation operations on these groups. Such as SUM, COUNT, etc.
Supported Aggregations
AVG
COUNT
MAX
MIN
SUM
Definition
def groupByData = api.newMatrix() //Definition of result matrix (columns, rows). .withColumns('TextColumn1', 'TextColumn2', 'NumericColumn3', 'NumericColumn4') .withRows(entries) //Property `.withGroupBy` defines that the `TextColumn1` and `NumericColumn3` are used for group by (The order is important). .withGroupBy(['TextColumn1', 'NumericColumn3']) //Property `.withColumnAggregation` defines that the values for subtotal rows are based on the group by definition (`NumericColumn3`) and are to be calculated as SUM. This definition is optional. When not used, like e.g. for TextColumn1, there will be no aggregation for the `TextColumn1`. .withColumnAggregation('NumericColumn3', SUM) //Property `.calculateGroupByData` is an end statement for group definition. This statement is only used together with `.withColumnAggregation`. .calculateGroupByData()