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

RangeMode() находит наиболее часто встречающееся значение (значение режима) в выражении или поле.

Syntax:  

RangeMode(first_expr {, Expression})

Return data type: числовое значение

Arguments:  

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

Аргумент Описание
first_expr Выражение или поле, содержащее данные для измерения.
Expression Дополнительные выражения или поля, содержащие диапазон значений для измерения.

Limitations:  

Если одинаково часто встречаются несколько значений, возвращается значение NULL.

Examples and results:  

Примеры Результаты
RangeMode (1,2,9,2,4)

Возвращает 2

RangeMode ('a',4,'a',4)

Возвращает NULL

RangeMode (null( ))

Возвращает NULL

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

RangeTab3:

LOAD recno() as RangeID, RangeMode(Field1,Field2,Field3) as MyRangeMode INLINE [

Field1, Field2, Field3

10,5,6

2,3,7

8,2,8

18,11,9

5,5,9

9,4,2

];

Результирующая таблица показывает возвращенные значения функции MyRangeMode для каждой записи в таблице.
RangeID MyRangMode
1 -
2 -
3 8
4 -
5 5
6 -

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

RangeMode (Above(MyField,0,3))

Возвращает наиболее часто встречающееся значение из трех результатов поля MyField, вычисленных в текущей строке и двух строках над ней. При указании третьего аргумента как 3 функция Above() возвращает три значения, над которыми достаточно строк, и которые принимаются за вводимые значения в функцию RangeMode().

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

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;

Подсказка: Отключите сортировку поля MyField, чтобы убедиться, что пример работает, как ожидается.
MyField RangeMode(Above(MyField,0,3))
10 Возвращает 10, поскольку выше нет строк, поэтому одно значение является наиболее часто встречающимся.
2 -
8 -
18 -
5 -
9 -