MarkLogic 12 EA 1 Product Documentation
op:cube

op:cube(
   $columns as columnIdentifier+
) as map:map+

Summary

This function specifies a list of grouping keys for a group and returns that group and every possible larger group (including all rows) formed from any subset of keys. 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 parameter function such as op:col or constructed from an expression with op:as.

Usage Notes

The following call

       op:cube(("Category", "Location"))
  

produces the same groups as the following calls

       (op:group(("Category", "Location")),
        op:group("Category"),
        op:group("Location"),
        op:group())
  

Example

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:cube(("Category", "Location")),
        op:sum("TotalAmount", "Amount")
        )
    => op:order-by(("Category", "Location"))
    => op:result()
  
Powered by MarkLogic Server | Terms of Use | Privacy Policy