
cts:variance( $range-index as cts:reference, [$options as xs:string*], [$query as cts:query?], [$forest-ids as xs:unsignedLong*] ) as xs:double?
  Returns a frequency-weighted sample variance given a value lexicon. This
  function works like math:variance 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.
xquery version "1.0-ml";
(:
   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.
:)
for $x in 1 to 10
return
xdmp:document-insert(fn:concat($x, ".xml"),
<my-element>{
  for $y in 1 to $x
  return <int>{$x}</int>
}</my-element>);
cts:variance(
  cts:element-reference(xs:QName("int"),"type=int"),
       ("item-frequency","concurrent")),
cts:variance(
  cts:element-reference(xs:QName("int"),"type=int"),
       ("fragment-frequency","concurrent"))
=>
6.11111111111111
9.16666666666667
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.