
cts:percent-rank( $arg as xs:anyAtomicType*, $value as xs:anyAtomicType, [$options as xs:string*] ) as xs:double?
  Returns the rank of a value in a data set as a percentage of the data set.
  This function works like math:percent-rank except each item in
  the sequence is repeated cts:frequency times before calculating
  the rank.
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.
  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:percent-rank(
    cts:element-values(
      xs:QName("int"), (), ("type=int", "item-frequency")), 9)
  => 0.672727272727273
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.