ПРИЛОЖЕНИЕ 3. СПРАВОЧНИК ФУНКЦИЙ ДЛЯ ФОРМУЛ РАСЧЕТНЫХ АТРИБУТОВ

Таблица 9. Числовые выражения

Функция/операция Описание Пример
[Атрибут1] + [Атрибут2] Сложение числовых атрибутов [Стоимость] + [Налог]
[Атрибут1] - [Атрибут2] Вычитание [План] - [Факт]
[Атрибут1] * [Атрибут2] Умножение [Количество] * [Цена]
[Атрибут1] / [Атрибут2] Деление [Сумма] / [Дни]
IsNull(число, значение по умолчанию) Возвращает значение по умолчанию, если значение пустое IsNull([Объём])
Round(число) Округляет число до ближайшего целого Round([Стоимость])
Round(число, знаки после запятой) Округляет число до указанного количества знаков после запятой Round([Расценка],3)
Round(число, знаки после запятой, правило округления) Округляет число до указанного количества знаком после запятой и с указанным правилом округления (см. Таблица 10. Стратегии округления, используемые функцией «Round») Round([Стоимость], 2, ToEven)
Ceil(число) Округляет число вверх до ближайшего целого Ceil([Затраты])
Ceil(число, знаки после запятой) Округляет число вверх до указанного количества знаков Ceil([Затраты],4)
Floor(число) Округляет число вниз до ближайшего целого Floor([Затраты])
Floor(число, знаки после запятой) Округляет число вниз до указанного количество знаков Floor([Затраты],2)
Pow(число, степень) Возводит число в указанную степень Pow([Сторона], 2)
Sqrt(число) Вычисляет квадратный корень числа Sqrt([Площадь])
Abs(число) Возвращает абсолютное значение числа (модуль) Abs([Отклонение])
Max(число_1, число_2) Возвращает наибольшее из двух чисел Max([Стоимость], [Расценка])
Min(число_1, число_2) Возвращает наименьшее из двух чисел Min([Стоимость], [Расценка])

Таблица 10. Стратегии округления, используемые функцией «Round»

Имя Описание
AwayFromZero Округление до ближайшего числа. Число, находящееся между двумя другими, округляется до ближайшего числа, которое находится далеко от нуля. Пример: 2.5 → 3, -1.5 → -2
ToEven Округление до ближайшего числа. Число, находящееся между двумя другими, округляется до ближайшего четного числа. Пример: 2.5 → 2, 3.5 → 4
ToNegativeInfinity Округление вниз (к отрицательной бесконечности). Результат будет меньше или равен точному значению. Пример: 2.8 → 2, -1.2 → -2
ToPositiveInfinity Округление вверх (к положительной бесконечности). Результат будет больше или равен точному значению. Пример: 2.2 → 3, -1.8 → -1
ToZero Округление к нулю. Результат будет меньше или равен точному значению. Пример: 2.9 → 2, -1.9 → -1

Таблица 11. Строковые выражения

Функция/операция Описание Пример
«Текст» Строковая константа «Без названия»
[Атрибут_Строка] Строковый атрибут [Название]
[Атрибут1] + [Атрибут2] Сложение строк [Фамилия] + " " + [Имя]
IsNull(строка, значение по умолчанию) Возвращает значение по умолчанию, если значение пустое IsNull([Комментарий])
Trim(строка) Удаляет пробелы в начале и конце строки Trim([Название])
Lower(строка) Преобразует строку к нижнему регистру Lower([Название])
Upper(строка) Преобразует строку к верхнему регистру Upper([Название])
ToString(число) Преобразует число в строку ToString([Стоимость])
ToString(число, формат) Преобразует число в строку с указанным форматом ToString([Дата окончания], "YYYY-MM-DD")
ToString(дата) Преобразует дату в строку ToString([Дата окончания])
ToString(дата, формат) Преобразует дату в строку с указанным форматом ("dd.MM.yyyy", "dd/MM/yyyy", "yyyy-MM-dd", "MM/dd/yyyy") ToString([Дата окончания], "yyyy-MM-dd")

Таблица 12. Дата – выражения

Функция/операция Описание Пример
[Атрибут_Дата] Атрибут даты [Дата начала]
Now() Возвращает текущую дату и время Now()
DateAdd(дата, число) Прибавляет указанное количество дней к дате DateAdd([Дата начала], 5)
DateAdd(дата, число, ед. измерения) Прибавляет временной интервал к дате (минуты - "m", "minute"/ часы - "h", "hour"/ дни - "d", "day") DateAdd([Дата начала], 5, hour)
DateDiff(дата_1, дата_2) Вычисляет разницу между двумя датами в днях DateDiff([Дата окончания], Now())
DateDiff(дата_1, дата_2, ед. измерения) Вычисляет разницу между датами в указанных единицах (минуты - "m", "minute"/ часы - "h", "hour"/ дни - "d", "day") DateDiff([Дата окончания], Now(),day)
Max(дата_1, дата_2) Возвращает более позднюю из двух дат Max([Дата окончания], Now())
Min(дата_1, дата_2) Возвращает более раннюю из двух дат Min([Дата окончания], Now())

Таблица 13. Логические выражения

Функция/операция Описание Пример
Not (дата) Инвертирует логическое значение Not([Логический атрибут])
Contains (строка_1, строка_2, чувствительность к регистру) Проверяет, содержит ли строка указанную подстроку в соответствии с указанными значениями чувствительности к регистру ("true", "false") Contains([Наименование работы], [Бетон], "false")
Compare (логическое_1, логическое_2, оператор) Сравнивает два логических значения в соответствии с указанным оператором сравнения ("=", "!=") Compare([Логический атрибут_1], [Логический атрибут_2] true, "=")
Compare (строка_1, строка_2, оператор, чувствительность к регистру) Сравнивает две строки в соответствии с указанным оператором сравнения ("=", "!=") и значением чувствительности к регистру ("true", "false") Compare([Корпус], [Блок А], "=", "false")
Compare (число_1, число_2, оператор, отклонение) Сравнивает два числа в соответствии с указанным оператором сравнения ("=", "!=", "<", "<=", ">", ">=") и допустимым отклонением от сравниваемого значения (сравниваемое значение +/- значение отклонения) Compare([Прогресс], [% выполнения], "<", 0.5)
Compare (дата_1, дата_2, оператор, ед. измерения) Сравнивает две даты в соответствии с указанным оператором сравнения ("=", "!=", "<", "<=", ">", ">=") и единицами измерения (сравнение по: минутам - "minute", часам - "hour", дням - "day", месяцам - "month", годам - "year") Compare([Финиш], [Целевой финиш], ">", "day")

Таблица 14. Общие выражения

Функция/операция Описание Пример
Prev(атрибут/ текущий атрибут) Рассчитывает выражение на основании данных предыдущей строки Prev([Прогресс])

509.3-9a58dc0d