cts.median( arg as Number[] ) as Number?
Returns a frequency-weighted median of a sequence.
This function works like math:median
except each item in the
sequence is repeated cts:frequency
times before calculating
the median. If $arg is the empty sequence, the function returns the empty
sequence.
Parameters | |
---|---|
arg | The sequence of values. The values should be the result of a lexicon lookup. |
This function is designed to take a sequence of values returned
by a lexicon function (for example, cts:element-values
); if you
input non-lexicon values, the result will be the empty sequence.
// This query assumes an element range index of type 'int' // is configured for the 'int' element in the database. It // generates some sample data and then performs the aggregation // in a separate transaction. declareUpdate(); for (x=1; x<11; x++) { var o = new Object(); o.int = []; for (y=x; y<11; y++) { o.int.push(y); }; xdmp.documentInsert((x + ".json"), o); }; ****** // Run the following query: var res = new Array(); res.push(cts.median(cts.values( cts.jsonPropertyReference("int", "type=int"), null, ["item-frequency"]))); res.push(cts.median(cts.values( cts.jsonPropertyReference("int", "type=int"), null, ["fragment-frequency"]))); res; => [7, 7]
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.