Loading TOC...

MarkLogic Server 11.0 Product Documentation
cts.stddev

cts.stddev(
   range-index as cts.reference,
   [options as String[]],
   [query as cts.query?],
   [forest-ids as (Number|String)[]]
) as Number?

Summary

Returns a frequency-weighted sample standard deviation given a value lexicon. This function works like math:stddev except each item in the lexicon is counted cts:frequency times. This function performs the calculation in parallel in all data nodes then aggregates the values. The function returns the empty sequence if the lexicon contains no value.

Parameters
range-index Reference to a range index. The type of the range index must be numeric.
options Same as the "options" parameter in cts:aggregate.
query Same as the "query" parameter in cts:aggregate.
forest-ids Same as the "forest-ids" parameter in cts:aggregate.

Example

//   This query assumes an int range index
//   is configured in the database. It
//   generates some sample data and then
//   performs the aggregation in a separate
//   transaction.

declareUpdate();

for (x=1; x<11; x++) {
  let o = new Object();
  o.int = [];
  for (y=x; y<11; y++) {
    o.int.push(y);
  };
  xdmp.documentInsert((x + ".json"), o);
};

*******
// Then run the following (requires int range index on int):

const item = cts.stddev(
  cts.jsonPropertyReference("int","type=int"),
    ["item-frequency","concurrent"]);
const frag = cts.stddev(
  cts.jsonPropertyReference("int","type=int"),
    ["fragment-frequency","concurrent"]);
const res = new Array();
res.push(item);
res.push(frag);
res;
=>
[2.47206616236522, 2.47206616236522]

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.