RangeAvg — скрипт и функция диаграммы
RangeAvg() возвращает среднее значение диапазона. Для ввода в функцию может использоваться диапазон значений или выражение.
Синтаксис:
RangeAvg(first_expr[, Expression])
Тип возвращаемого значения: число
Аргументы:
Аргумент этой функции может содержать функции между записями, которые в свою очередь возвращают список значений.
Аргумент | Описание |
---|---|
|
Выражение или поле, содержащее данные для вычисления среднего значения. |
|
Дополнительные выражения или поля, содержащие данные для вычисления среднего значения. Можно использовать несколько дополнительных выражений. |
Ограничения:
Если числовые значения не найдены, возвращается значение
Примеры и результаты:
Примеры | Результаты | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RangeAvg (1,2,4) |
Возвращает 2,33333333 |
||||||||||||||||
RangeAvg (1,'xyz') | Возвращает 1 | ||||||||||||||||
RangeAvg (null( ), 'abc') | Возвращает |
||||||||||||||||
Добавьте образец скрипта в свой документ и запустите. Затем добавьте на лист документа как минимум поля, указанные в столбце с результатами, чтобы увидеть результаты. RangeTab3: LOAD recno() as RangeID, RangeAvg(Field1,Field2,Field3) as MyRangeAvg INLINE [ Field1, Field2, Field3 10,5,6 2,3,7 8,2,8 18,11,9 5,5,9 9,4,2 ]; |
|
Пример с выражением:
RangeAvg (Above(MyField),0,3))
Возвращает скользящее среднее результата диапазона из трех значений поля MyField, вычисленного в текущей строке и двух строках над ней. При указании третьего аргумента как
Данные, используемые в примерах:
MyField | RangeAvg (Above(MyField,0,3)) | |
---|---|---|
10 | 10 | Поскольку данная строка является верхней, диапазон включает только одно значение. |
2 | 6 | Над этой строкой только одна строка, поэтому диапазон: |
8 | 6,6666666667 | Эквивалент для |
18 | 9,333333333 | |
5 | 10. 333333333 | |
9 | 10,6666666667 |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;