Функции обработки чисел

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

Функция

Описание

Тип результата

Поддержка бэкенда

Поддержка фронтенда

abs(Double | Long value)

Возвращает абсолютное значение аргумента value. Если аргумент не отрицательный, он возвращается. Если же аргумент отрицательный, возвращается отрицание аргумента.

Если тип аргумента Integer или Long, возвращаемое значение будет типа Long.

Пример: abs(-5) возвращает "5"

Double

Да

Да

acos(Double value)

Возвращает арккосинус угла, в диапазоне от 0.0 до pi.

Пример: acos(0) возвращает "1.5707963267948966"

Double

Да

Да

asin(Double value)

Возвращает арксинус угла, в диапазоне от -pi/2 до pi/2.

Пример: asin(0) возвращает "0"

Double

Да

Да

atan(Double value)

Возвращает арктангенс угла в диапазоне от -pi/2 до pi/2.

Пример: atan(0) возвращает "0"

Double

Да

Да

average(DataTable | Number value1 [, DataTable | Number value2, ...])

Вычисляет среднее арифметическое набора значений, включая все ячейки предоставленных таблиц. Нечисловые значения пропускаются.

Пример: average(table("<<a><I>><<b><S>>", 1, "x", 3, "y")) возвращает "2"

Double

Да

Нет

averagea(DataTable | Number value1 [, DataTable | Number value2, ...])

Вычисляет среднее арифметическое набора значений, включая все ячейки предоставленных таблиц. Нечисловые значения конвертируются в числа.

Пример: averagea(table("<<v><S>>", "2", "4")) возвращает "3"

Double

Да

Нет

averageIf(DataTable table, String condition [, DataTable averageTable])

Проверяет каждое значение в предоставленной таблице table на соответствие указанному условию condition. Когда значение удовлетворяет условию condition, соответствующее числовое значение учитывается для расчёта среднего. Если таблица averageTable представлена, то функция использует значения из таблицы averageTable, которые соответствуют совпадающим записям таблицы table.

Функция возвращает среднее арифметическое всех числовых значений, удовлетворяющих условию condition. Условие condition - это выражение, которое может ссылаться на проверяемое значение с помощью переменной окружения “value”, то есть через ссылку {env/value}.

Пример: averageIf(table("<<flag><I>>", 1, 0, 1, 0), "{env/value} == 1", table("<<x><I>>", 10, 20, 30, 40)) возвращает "20"

Double

Да

Нет

avg(DataTable table, String field)

Возвращает среднее арифметическое чисел из поля field в таблице table.

Пример: avg(table("<<x><I>>", 1, 2, 3), "x") возвращает "2"

Double

Да

Да

cbrt(Double value)

Возвращает кубический корень значения.

Пример: cbrt(27) возвращает "3"

Double

Да

Да

ceil(Double value [, Double significance])

Округляет значение value вверх до ближайшего целого числа. Если указан параметр significance, значение округляется до ближайшего целого числа, кратного этому параметру.

Пример: ceil(12.3, 5) возвращает "15"

Double

Да

Ограниченно

cos(Double value)

Возвращает тригонометрический косинус угла. Угол измеряется в радианах.

Пример: cos(pi()/2) возвращает "-4.371139000186241e-8"

Double

Да

Да

cosh(Double value)

Возвращает гиперболический косинус значения.

Пример: cosh(0) возвращает "1"

Double

Да

Да

e()

Возвращает основание натурального логарифма.

Пример: e() возвращает "2.7182817"

Double

Да

Да

eq(Long first, Long second)

Возвращает true, если первый аргумент равен второму аргументу (то же, что и оператор = = ).

Пример: eq(10, 10) возвращает "true"

Булево

Да

Да

exp(Double value)

Возвращает число Эйлера е, возведенное в степень, равную значению value.

Пример: exp(1) возвращает "2.718281828459045"

Double

Да

Да

floor(Double value [, Double factor [, Integer mode]])

Округляет значение value вниз до ближайшего целого числа. Если указан параметр significance, значение округляется вниз до ближайшего целого числа, кратного этому параметру. Если указан параметр mode и он не равен нулю, отрицательные значения округляются вверх в сторону нуля.

Пример: floor(-12.3, 5, 1) возвращает "-10"

Double

Да

Ограниченно

formatNumber(Number number, String pattern)

Форматирует числовое значение number в соответствии с шаблоном pattern. Шаблоны форматирования чисел описаны здесь.

Пример: formatNumber(10/3, "#.##") возвращает "3.33"

String

Да

Да

frequency(DataTable table [, String field])

Возвращает таблицу с частотой встречаемости чисел из поля в таблице table. Имя целевого поля задается параметром field, если поле field не указано, то используется первое поле. Любые значения с плавающей точкой преобразуются в целые числа для сравнения.

Возвращает таблицу данных с полями:

  • Value - Значение из таблицы входных данных.

  • Frequency - количество раз, когда значение встречалось в таблице входных данных.

Пример: frequency(table("<<n><I>>", 1, 2, 2, 3, 3, 3)) возвращает таблицу с тремя записями: "(Value=1, Frequency=1)", "(Value=2, Frequency=2)", "(Value=3, Frequency=3)"

Data Table

Да

Да

ge(Long first, Long second)

Возвращает true, если первый аргумент больше или равен второму (то же, что и оператор >=).

Пример: ge(5, 5) возвращает "true"

Boolean

Да

Да

gt(Long first, Long second)

Возвращает true, если первый аргумент больше второго (то же, что и оператор >).

Пример: gt(6, 5) возвращает "true"

Boolean

Да

Да

large(DataTable table, Integer k)

Возвращает k-е наибольшее значение, найденное в ячейках таблицы table. Все значения в таблице преобразуются в числа, кроме значений null, которые пропускаются.

Пример: large(table("<<v><S>>", "10", "3", "7"), 2) возвращает "7"

Double

Да

Нет

le(Long first, Long second)

Возвращает true, если первый аргумент меньше или равен второму (то же, что оператор <=).

Пример: le(4, 5) возвращает "true"

Boolean

Да

Да

linearRegression(Data Table table, String xSeriesFieldName, String ySeriesFieldName)

Возвращает таблицу данных, содержащую модель линейной регрессии, рассчитанную по значениям из таблицы table. Аргументы xSeriesFieldName и ySeriesFieldName- это имена полей в таблице данных, которые нужно использовать для значений X и Y в расчете регрессии.

Возвращает таблицу данных с полями:

  • Intercept - Наклон регрессионной модели.

  • Slope - Перехват регрессионной модели.

  • Mean Square Error - средняя квадратичная разница между фактическими значениями и значениями, предсказанными регрессией.

  • Sum of Squared Errors - сумма квадратов разностей между фактическими значениями и значениями, предсказанными регрессией.

Пример: linearRegression(table("<<x><I>><<y><I>>", 1, 2, 2, 4, 3, 6), "x", "y") возвращает таблицу с одной записью: "(Slope=2, Intercept=0, Mean Square Error=0, Sum of Squared Errors=0)"

Data Table

Да

Да

log(Double value)

Возвращает натуральный логарифм значения (по основанию e).

Пример: log(e()) возвращает "0.99999996963214"

Double

Да

Да

log10(Double value)

Возвращает десятичный логарифм значения.

Пример: log10(1000) возвращает "3"

Double

Да

Да

lt(Long first, Long second)

Возвращает true, если первый аргумент меньше второго (то же, что и оператор <).

Пример: lt(4, 5) возвращает "true"

Boolean

Да

Да

max(DataTable table , String field)

max(DataTable | Number value1 [, DataTable | Number value2, ...])

Возвращает наибольшее значение в поле field таблицы или в списке значений, который может включать таблицы. Во втором случае проверяется каждая числовая ячейка каждой предоставленной таблицы.

Пример: max(table("<<x><I>>", 4, 9, 2), "x") возвращает "9"

Double

Да

Ограниченно

median(DataTable table [, String field])

median(DataTable | Number value1 [, DataTable | Number value2, ...])

Возвращает значение медианы в поле field таблицы или в списке значений, который может включать таблицы. Во втором случае в расчет включается каждая числовая ячейка каждой предоставленной таблицы.

Пример: median(table("<<x><I>>", 1, 9, 3), "x") возвращает "3"

Double

Да

Ограниченно

min(DataTable table [, String field])

min(DataTable | Number value1 [, DataTable | Number value2, ...])

Возвращает наименьшее значение в поле field таблицы или в списке значений, который может включать таблицы. Во втором случае проверяется каждая числовая ячейка каждой предоставленной таблицы.

Пример: min(table("<<x><I>>", 4, 2, 7), "x") возвращает "2"

Double

Да

Ограниченно

mode(DataTable table, String field)

mode(DataTable | Number value1 [, DataTable | Number value2, ...])

Возвращает моду всех числовых значений поля field таблицы или списка значений, в который могут входить таблицы. Во втором случае в расчет включается каждая числовая ячейка каждой предоставленной таблицы.

Пример: mode(table("<<x><I>>", 2, 2, 3, 4), "x") возвращает "2"

Double

Да

Ограниченно

mround(Double value, Double multiple)

Округляет значение value до нужного мультипликатора multiple. Округление идет вверх, в сторону от нуля, если остаток от деления value на multiple больше или равен половине значения multiple. Оба аргумента должны иметь одинаковый знак.

Пример: mround(11, 2) возвращает "12"

Double

Да

Нет

ne(Long first, Long second)

Возвращает true, если первый аргумент не равен второму (то же, что и оператор !=).

Пример: ne(10, 11) возвращает "true"

Boolean

Да

Да

parseNumber(String source, String pattern [, String decimalSeparator [, String groupSeparator]])

Создает числовое значение из строки source отформатированной по шаблону pattern. Шаблоны форматирования чисел описаны здесь. Использует настраиваемые символы разделителя десятичных знаков и групп цифр, если они указаны.

Пример: parseNumber("1 234,56", "#,##0.##", ",", " ") возвращает "1234.56"

Number

Да

Нет

pi()

Возвращает отношение длины контура окружности к ее диаметру.

Пример: pi() возвращает "3.1415927"

Double

Да

Да

pow(Double base, Double power)

Возвращает значение первого аргумента, возведенное в степень второго.

Пример: pow(2, 3) возвращает "8"

Double

Да

Да

random()

Возвращает значение с положительным знаком, большее или равное 0.0 и меньшее 1.0. Полученные значения выбираются псевдослучайно с относительно равномерным распределением в этом диапазоне.

Пример: random() возвращает: "0.24352046142504802" (всегда 0 <= x < 1)

Double

Да

Да

round(Double value [, Integer digits])

Округляет значение до указанного параметром digits количества знаков, или до ближайшего целого числа, если параметр digits не указан или равен нулю. Если параметр digits меньше 0, значение value округляется влево от десятичной точки.

Пример: round(1234.56, -2) возвращает "1200"

Long | Double

Да

Ограниченно

roundDown(Double value [, Integer digits])

Округляет значение value вниз, в сторону нуля. Значение округляется до указанного параметром digits количества знаков, или до ближайшего целого числа, если параметр digits равен нулю или не указан. Если параметр digits меньше 0, значение value округляется влево от десятичной точки.

Пример: roundDown(-1.29, 1) возвращает "-1.2"

Double

Да

Нет

roundUp(Double value [, Integer digits])

Округляет значение value вверх, в сторону от нуля. Значение округляется до указанного параметром digits количества знаков, или до ближайшего целого числа, если параметр digits равен нулю или не указан. Если параметр digits меньше 0, значение value округляется влево от десятичной точки.

Пример: roundUp(-1.21, 1) возвращает "-1.3"

Double

Да

Нет

signum(Double value)

Возвращает сигнум-функцию аргумента; 0, если аргумент равен 0; 1.0, если аргумент больше ноля; -1.0, если аргумент меньше нуля.

Если тип аргументов Целое или Длинное, возвращает значение типа Длинное.

Пример: signum(-5) возвращает "-1"

Double

Да

Да

sin(Double value)

Возвращает тригонометрический синус угла. Угол измеряется в радианах.

Пример: sin(pi()) возвращает "-8.742278000372475e-8"

Double

Да

Да

sinh(Double value)

Возвращает гиперболический синус значения.

Пример: sinh(0) возвращает "0"

Double

Да

Да

sma(Data Table table, String field, Integer depth)

Возвращает таблицу данных с простым скользящим средним, рассчитанным по значениям поля в таблице table. Имя целевого поля задается аргументом field. Аргумент depth указывает, сколько предыдущих значений должно быть включено в окно расчета среднего.

Возвращает таблицу данных с полями:

  • Field - значения из указанного поля аргумента table

  • Average - скользящее среднее, рассчитанное на основе предыдущих значений depth из столбца Field. Первые (depth- 1) строки не будут иметь значения Average.

Пример: sma(table("<<x><I>>", 10, 20, 30, 40), "x", 3) возвращает таблицу с четырьмя записями: "(x=10, Average=null)", "(x=20, Average=null)", "(x=30, Average=20)", "(x=40, Average=30)"

Data Table

Да

Да

small(DataTable table, Integer k)

Возвращает k-е наименьшее значение, найденное в ячейках таблицы table. Все значения в таблице преобразуются в числа, кроме значений null, которые пропускаются.

Пример: small(table("<<v><S>>", "10", "3", "7"), 2) возвращает "7"

Double

Да

Нет

smm(Data Table table, String field, Integer depth)

Возвращает таблицу данных с простой скользящей медианой, вычисленной по значениям поля в таблице table. Имя поля задается аргументом field. Аргумент depth указывает, сколько предыдущих значений должно быть включено в окно расчета медианы.

Возвращает таблицу данных с полями:

  • Field- значения из указанного поля аргумента table

  • Median - скользящая медиана, вычисленная на основе предыдущих значений depth из столбца Field. Первые (depth- 1) строки не будут иметь значения для Median.

Пример: smm(table("<<x><I>>", 10, 5, 30, 40), "x", 3) возвращает таблицу с четырьмя записями: "(x=10, Median=null)", "(x=5, Median=null)", "(x=30, Median=10)", "x=40, Median=30)"

Data Table

Да

Да

sqrt(Double value)

Возвращает правильно округленный положительный квадратный корень из значения.

Пример: sqrt(9) возвращает "3"

Double

Да

Да

standardDeviation(DataTable table [, String field])

Возвращает стандартное отклонение, вычисленное по значениям в поле таблицы table. Имя целевого поля задается параметром field , если field не указано, то используется первое поле.

Пример: standardDeviation(table("<<x><I>>", 5, 5, 5), "x") возвращает "0"

Double

Да

Да

standardError(DataTable table [, String field])

Возвращает стандартную ошибку среднего, вычисленную по значениям поля в таблице table. Имя целевого поля задается параметром field , если field не указано, то используется первое поле.

Пример: standardError(table("<<x><I>>", 5, 5, 5), "x") возвращает "0"

Double

Да

Да

sum(DataTable table, String field)

sum(DataTable | Number value1 [, DataTable | Number value2, ...])

Возвращает сумму всех числовых значений в поле field таблицы или в списке значений, который может включать таблицы. Во втором случае в расчет включается каждая числовая ячейка каждой предоставленной таблицы.

Пример: sum(table("<<x><I>>", 1, 2, 3), "x") возвращает "6"

Double

Да

Ограниченно

sumIf(DataTable table, String condition [, DataTable sumTable])

Проверяет каждое значение в предоставленной таблицы table на соответствие указанному условию condition. Когда значение удовлетворяет условию сondition, соответствующее числовое значение добавляется к итогу. Если таблица sumTable указана, то функция суммирует значения из sumTable, которые соответствуют совпадающим записям в таблице table.

Функция возвращает общую сумму всех числовых значений, удовлетворяющих условию condition. Условие condition - это выражение, которое может ссылаться на проверяемое значение с помощью переменной окружения “value”, то есть через ссылку {env/value}.

Пример: sumIf(table("<<flag><I>>", 1, 0, 1, 0), "{env/value} == 1", table("<<amt><I>>", 10, 20, 30, 40)) возвращает "40"

Double

Да

Нет

sumProduct(String operator, DataTable table1, DataTable table2 [, DataTable table3, ...])

Вычисляет сумму продуктов соответствующих ячеек в двух или более одинаковых по размеру таблицах. Тип продукта определяется первым параметром, который может иметь значения "*" (умножение), "/" (деление), "+" (сложение) и "-" (вычитание).

Пример: sumProduct("*", table("<<a><I>><<b><I>>", 1, 2, 3, 4), table("<<a><I>><<b><I>>", 10, 20, 30, 40)) возвращает "300"

Double

Да

Нет

tan(Double value)

Возвращает тригонометрический тангенс угла. Угол измеряется в радианах.

Пример: tan(pi()/4) возвращает "1.000000043711391"

Double

Да

Да

tanh(Double value)

Возвращает гиперболический тангенс значения.

Пример: tanh(0) возвращает "0"

Double

Да

Да

variance(DataTable table [, String field])

Возвращает дисперсию чисел из поля в таблице table. Имя целевого поля задается параметром field, если field не указано, то используется первое поле.

Пример: variance(table("<<x><I>>", 5, 5, 5), "x") возвращает "0"

Double

Да

Да

Was this page helpful?