op:rollup( $columns as item()+ ) as map:map+
This function specifies a list of grouping keys for a group and returns that group and larger groups (including all rows) formed by dropping columns from right to left. The result is used for building the first parameter for the op:group-by-union or op:group-to-arrays functions.
Parameters | |
---|---|
$columns | The columns to use as grouping keys. The columns can be named with a string or a column function such as op:col, op:view-col, or op:schema-col, or constructed from an expression with op:as. |
The following call
op:rollup(("Category", "Location"))
produces the same groups as the following calls
(op:group(("Category", "Location")), op:group("Category"), op:group())
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; op:from-view("main", "expenses") => op:group-by-union( op:rollup(("Category", "Location")), op:sum("TotalAmount", "Amount") ) => op:order-by(("Category", "Location")) => op:result()
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.