{
  "comment" : "This is generated by ESQL's AbstractFunctionTestCase. Do not edit it. See ../README.md for how to regenerate it.",
  "type" : "scalar",
  "name" : "mv_percentile",
  "description" : "Converts a multivalued field into a single valued field containing the value at which a certain percentage of observed values occur.",
  "signatures" : [
    {
      "params" : [
        {
          "name" : "number",
          "type" : "double",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "double",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "double"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "double",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "integer",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "double"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "double",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "long",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "double"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "integer",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "double",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "integer"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "integer",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "integer",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "integer"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "integer",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "long",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "integer"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "long",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "double",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "long"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "long",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "integer",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "long"
    },
    {
      "params" : [
        {
          "name" : "number",
          "type" : "long",
          "optional" : false,
          "description" : "Multivalue expression."
        },
        {
          "name" : "percentile",
          "type" : "long",
          "optional" : false,
          "description" : "The percentile to calculate. Must be a number between 0 and 100. Numbers out of range will return a null instead."
        }
      ],
      "variadic" : false,
      "returnType" : "long"
    }
  ],
  "examples" : [
    "ROW values = [5, 5, 10, 12, 5000]\n| EVAL p50 = MV_PERCENTILE(values, 50), median = MV_MEDIAN(values)"
  ],
  "preview" : false,
  "snapshot_only" : false
}
