Общие сведения
Надёжность и безопасность
Начало работы
Управление проектами
Компоненты
Инструкции
Управление финансами
Управление задачами
Управление ресурсами
Управление биллингом
Управление клиентами
Управление затратами
Учёт времени
Отчёты и аналитика
FAQ
Типы отчётов
Использование отчётов
Группировка и суммирование данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Выражения вычисляемых полей
Особенности работы с колонками «Расчёт времени за период»
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Жизненные циклы и воркфлоу
On-premises
API
История изменений
Термины и определения

Выражения вычисляемых полей

Обновлено: 29.08.2025

Назначение

Значения ячеек в вычисляемом поле задаются его выражением. В выражении допускаются:

  • Ссылки на другие поля в строке данных
  • Арифметические и логические операторы
  • Встроенные функции

Синтаксис

  • Имена полей заключаются в квадратные скобки: [ColumnName]
  • Порядок вычислений задаётся круглыми скобками: ([ColumnName] - [ColumnName]) * 1.18
  • Допускается применение литералов (фиксированных текстовых строк), которые заключаются в одинарные кавычки: 'Text'

Операторы

  • Логические: ||, &
  • Отношений: ==, !=, <, <=, >, >=
  • Аддитивные: +, -
  • Мультипликативные: *, /, %
  • Унарные: !

Функции работы со строками и форматирования

Concat

Concat(string1, string2, ...) — возвращает объединённую строку.

Пример: Concat('Hello', ' ', 'world') = 'Hello world'

Format

Format(template, param1, param2..., paramN) — возвращает отформатированное значение по шаблону.

Пример шаблона: Format("Проект {0} от {1:yyyy}", [ProjectName], [ProjectCreated]]

  • Проект и от — фиксированный текст, который выводится как есть
  • {0} — элемент форматирования с индексом 0. Соответствует первому параметру — полю ProjectName
  • {1:yyyy} — элемент форматирования с индексом 1. Соответствует второму параметру — полю ProjectCreated. Часть :yyyyзадаёт формат года.

Каждый элемент форматирования выглядит так: {index[, alignment][: formatString]}

  • index — порядковый номер параметра в списке. Обязательный компонент.

  • alignment — целое число (может быть со знаком). Определяет ширину поля и выравнивание. Необязательный компонент.

    Компонент alignment

    • Если значение alignment меньше длины форматируемой строки, то оно пропускается. В качестве значения ширины поля используется длина форматируемой строки.
    • Если у alignment положительное значение, форматируемые данные выравниваются в поле по правому краю.
    • Если отрицательное значение — данные выравниваются по левому краю.
    • При необходимости отформатированная строка дополняется пробелами.
    • При использовании компонента alignment необходимо поставить запятую.
  • formatString — строка формата, которая зависит от типа данных. Необязательный компонент.

Элемент форматирования обязательно заключается в парные фигурные скобки.

Список часто используемых форматов

Примечание

Для форматов с указанием культуры (например, en-US), конечный результат зависит от языка пользователя, формирующего отчёт или панель показателей.

Для полей с типом «Дата» и «Дата и время»:

  • «d» — 15.06.2009T13:45:30 -> 6/15/2009 (en-US)
  • «D» — 15.06.2009T13:45:30 -> Monday, June 15, 2009
  • «f» — 15.06.2009T13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US)
  • «F» — 15.06.2009T13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US)
  • «g» — 15.06.2009T13:45:30 -> 6/15/2009 1:45 PM (en-US)
  • «G» — 15.06.2009T13:45:30 -> 6/15/2009 1:45:30 PM (en-US)
  • «M» — 15.06.2009T13:45:30 -> June 15 (en-US)
  • «Y» — 15.06.2009T13:45:30 -> June, 2009 (en-US)
  • «t» — 15.06.2009T13:45:30 -> 1:45 PM (en-US)
  • «%d» — 01.06.2009T13:45:30 -> 1
  • «dd» — 01.06.2009T13:45:30 -> 01
  • «ddd» — 15.06.2009T13:45:30 -> Mon (en-US)
  • «dddd» — 15.06.2009T13:45:30 -> Monday (en-US)
  • «%M» — 15.06.2009T13:45:30 -> 6
  • «MM» — 15.06.2009T13:45:30 -> 06
  • «MMM» — 15.06.2009T13:45:30 -> Jun (en-US)
  • «MMMM» — 15.06.2009T13:45:30 -> June (en-US)
  • «%y» — 01.01.0001T00:00:00 -> 1
  • «yy» — 01.01.0001T00:00:00 -> 01
  • «yyy» — 01.01.0001T00:00:00 -> 001
  • «yyyy» — 01.01.0001T00:00:00 -> 0001

Для полей с типом «Число» и «Дробное число»:

  • «N» — 1234.567 -> 1,234.57 (en-US)
  • «N0» — 1234.567 -> 1,234 (en-US)
  • «N4» — 1234.567 -> 1,234.5670 (en-US)

Примеры:

  • Format('Наименование: {0} {1}', '001', 'Внедрение ERP') = 'Наименование: 001 Внедрение ERP'
  • Format('{0:MMMM}, [ProjectCreated]) = 'Январь'

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

Floor

Floor(number) — возвращает ближайшее максимальное целое значение.

Пример: Floor(112.1) = 113

Round

Round(number, precision) — возвращает округлённое значение c заданной точностью.

Пример: Round(112.156, 2) = 112.16

Min

Min(number, number) — возвращает минимальное из двух значений.

Пример: Min(1, 2) = 1

Max

Max(number, number) — возвращает максимальное из двух значений.

Пример: Max(1, 2) = 2

Функции работы с датами

GetDate

GetDate() — возвращает текущую дату.

Пример: GetDate() = '2019-01-01'

DateDiff

DateDiff(datepart, startDate, endDate) — возвращает продолжительность между startDate и endDate в заданной единице измерения.

Параметр datepart — строка, которая определяет единицу измерения разницы дат и может принимать значения:

  • year
  • quarter
  • month
  • week
  • day
  • hour

Пример: DateDiff('day', '2019-01-01', '2019-01-10') = 10

Функции условий

Coalesce

Coalesce(object, object, ...) — возвращает первый параметр из списка, значение которого отлично от NULL.

Пример: Coalesce(NULL, NULL, 2) = 2

In

In(value, case1, case2, ...) — возвращает TRUE если первый параметр равен одному из последующих.

Пример: In('Submitted', 'Draft', 'Submitted') = TRUE

If

If(boolean, result1, result2) — возвращает result1, если первый параметр равен TRUE, и result2 — если иначе.

Пример: If('Draft' == 'Draft', 'It is a draft', 'It is not a draft') = 'It is a draft'

IsNullOrZero

IsNullOrZero(number) — возвращает TRUE, если параметр равен NULL или 0

Пример: IsNullOrZero(0) = TRUE

IsNull

IsNull(object) — возвращает TRUE, если параметр равен NULL

Пример: IsNullOrZero(0) = FALSE

IsNullOrEmpty

IsNullOrEmpty(string) — возвращает TRUE, если параметр равен NULL или пустой строке.

Пример: IsNullOrEmpty('') = TRUE

Содержание

Назначение Синтаксис Операторы Функции работы со строками и форматирования Concat Format Список часто используемых форматов Функции работы с числами Floor Round Min Max Функции работы с датами GetDate DateDiff Функции условий Coalesce In If IsNullOrZero IsNull IsNullOrEmpty
Ничего не найдено

Перейти на русскую версию?