op:group-concat( $outCol as item(), $inCol as item(), [$options as map:map?] ) as map:map
This function concatenates the non-null values of the column for the rows in the group or row set. The result is used for building the parameters used by the op:group-by function.
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; let $expenses := op:from-view("main", "expenses") return $expenses => op:group-by("Category", op:group-concat("Spent", "Amount", map:entry("separator","-") => map:with("values","distinct"))) => op:order-by("Category") => op:result()