op:count( $outCol as item(), [$inCol as item()], [$options as map:map] ) as map:map
This function counts the rows where the specified input column has a value. If the input column is omitted, all rows in the group or row set are counted. 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:count("Number of Expenses", "Amount", map:entry('values', 'distinct'))) => op:order-by("Category") => op:result()