# RangeFractile — скрипт и функция диаграммы

RangeFractile() возвращает значение, соответствующее n-ному fractile (квантилю) диапазона чисел.

Примечание к информации RangeFractile() использует линейное интерполирование между ближайшими рядами при вычислении квантиля.

Синтаксис:

RangeFractile(fractile, first\_expr[, Expression])

Возвращаемые типы данных: числовое значение

Аргументы:

Аргумент этой функции может содержать функции между записями, которые в свою очередь возвращают список значений.

* fractile: Число от 0 до 1, соответствующее квантилю, которое подлежит вычислению.
* first\_expr: Выражение или поле, содержащее данные для измерения.
* Expression: Дополнительные выражения или поля, содержащие диапазон значений для измерения.

Примеры:

Примеры и результаты

| Пример | Результат |
| --- | --- |
| `RangeFractile<br>(0.24,1,2,4,6)` | Возвращает 1.72 |
| `RangeFractile(0.5,1,2,3,4,6)` | Возвращает 3 |
| `RangeFractile<br>(0.5,1,2,5,6)` | Возвращает 3.5 |

Пример: (использование выражения)

`RangeFractile
 (0.5, Above(Sum(MyField),0,3))`

В этом примере функция между записями Above() содержит дополнительные аргументы offset и count. В результате формируется диапазон результатов, который можно использовать в качестве данных, вводимых в любую функцию над выборкой. В этом случае функция `Above(Sum(MyField),0,3)` возвращает значения поля `MyField` для текущей строки и двух строк над ней. Эти значения передаются в функцию RangeFractile(). Так, для нижней строки в таблице ниже это эквивалентно функции `RangeFractile(0.5, 3,4,6)`, вычисляющей квантиль 0,5 в серии 3, 4 и 6. В первых двух строках в таблице ниже число значений в диапазоне соответственно уменьшится, если выше текущей строки нет строк. Похожие результаты будут и при использовании других межзаписных функций.

Пример результата выражения

| MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
| --- | --- |
| 1 | 1 |
| 2 | 1.5 |
| 3 | 2 |
| 4 | 3 |
| 5 | 4 |
| 6 | 5 |

**Данные, используемые в примерах:**

`RangeTab:` `LOAD * INLINE [` `MyField` `1` `2` `3` `4` `5` `6` `] ;`

Пример: (в виде таблицы)

Добавьте образец скрипта в свой документ и запустите. Затем добавьте на лист документа как минимум поля, указанные в столбце с результатами, чтобы увидеть результаты.

`RangeTab:` `LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac INLINE [` `Field1, Field2, Field3` `10,5,6` `2,3,7` `8,2,8` `18,11,9` `5,5,9` `9,4,2`

`];`

Результирующая таблица показывает возвращенные значения функции MyRangeFrac для каждой записи в таблице.

Пример результата в табличной форме

| RangeID | MyRangeFrac |
| --- | --- |
| 1 | 6 |
| 2 | 3 |
| 3 | 8 |
| 4 | 11 |
| 5 | 5 |
| 6 | 4 |

## Подробнее

* [Above](https://help.qlik.com/ru-RU/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/above.htm)
* [Fractile — функция диаграммы](https://help.qlik.com/ru-RU/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/StatisticalAggregationFunctionsinCharts/fractile.htm)