Перейти к основному содержимому Перейти к дополнительному содержимому

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

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

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

Синтаксис:  

RangeFractile(fractile, first_expr[, Expression])

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

Аргументы:  

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

Аргументы
Аргумент Описание
fractile Число от 0 до 1, соответствующее квантилю (выраженному в дробном виде), которое подлежит вычислению.
first_expr Выражение или поле, содержащее данные для измерения.
Expression Дополнительные выражения или поля, содержащие диапазон значений для измерения.

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

Примеры функции
Примеры Результаты
RangeFractile (0.24,1,2,4,6) Возвращает 1.72
RangeFractile(0.5,1,2,3,4,6)

Возвращает 3

RangeFractile (0.5,1,2,5,6)

Возвращает 3.5

Пример:  

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

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 для каждой записи в таблице.

Результирующая таблица
RangeIDMyRangeFrac
16
23
38
411
55
64

 

Пример с выражением:

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))
11
21.5
32
43
54
65

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

RangeTab:

LOAD * INLINE [

MyField

1

2

3

4

5

6

] ;

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!