С помощью редактора формул можно создать поля (по одному или несколько сразу) и обработать условия, как на калькуляторе.
Цвет индикатора над областью Сообщения обозначает состояние формулы.
| Индикатор | Формула | |
|---|---|---|
![]() |
Красный | Содержит ошибку, которая описана в области сообщений. Не может быть подтверждена (кнопка "Дальше" неактивна). |
![]() |
Желтый | Может быть подтверждена, но возможны противоречия, которые описаны в области сообщений. |
![]() |
Зеленый | Действительна. |
При наличии ошибки или предупреждения область Сообщения в нижней части панели содержит подробные данные причины.
Наборы полей
Зачастую требуется создать несколько полей путем применения одного вычисления к разным существующим полям. Редактор формул выполняет это с помощью наборов полей.
Например, наборы полей позволяют суммировать большое число полей или вычислить максимум.
Именованные наборы полей
Изменение имени набора полей означает создание его дубликата.
Динамически создаваемые наборы полей
При необходимости применить вычисление к полям, имена которых имеют общий корень, можно создать набор полей динамически в полей текста формулы.
Динамически создаваемый набор полей определяется маской, то есть фиксированной общей частью имени всех нужных полей, и подстановочным знаком на месте части имени, изменяющейся для каждого поля. Для определения наборов полей можно использовать три подстановочных знака: @, # и $. Для каждого набора полей можно использовать только один подстановочный знак, а в рамках одной формулы каждый подстановочный знак можно использовать не более одного раза..
Пример: допустим, таблица базы данных содержит следующие поля в приведенном порядке:
income_january
income_april
income_february
income_march
expenses_march
expenses_january
expenses_april
income_@ |
expenses_# |
|---|---|
income_january |
expenses_march |
income_april |
expenses_january |
income_february |
expenses_april |
income_march |
Вычисление |
Позиция |
|---|---|
income_january - expenses_march |
1 |
income_april - expenses_january |
2 |
income_february - expenses_april |
3 |
| Вычисление | Значения @ и # |
|---|---|
income_january - expenses_january |
january |
income_april - expenses_april |
april |
income_march - expenses_march |
march |
Вычисление |
|---|
income_january - expenses_march |
income_january - expenses_january |
income_january - expenses_april |
income_april- expenses_march |
income_april - expenses_january |
income_april - expenses_april |
income_february - expenses_march |
income_february - expenses_january |
income_february - expenses_april |
income_march - expenses_march |
income_march - expenses_january |
income_march - expenses_april |
Использование набора полей в качестве списка переменных для N-арной функции
Наборы полей могут использоваться для определения списков аргументов n-арных функций, то есть функций с неопределенным числом аргументов. При использовании набора полей в качестве аргумента n-арной функции, и только в этом случае, необходимо заключить имя набора должно в фигурные скобки { }, чтобы задать его обработку как списка аргументов.
В качестве примера рассмотрим таблицу базы данных, поля которой income_april, income_may, income_june содержат значения месячного дохода. Если требуется создать поле, содержащее наибольший месячный доход за квартал, необходимо использовать формулу greatestN({income_@}), в которой поле income_@ используется как список переменных, то есть идентично формуле greatestN(income_april ,income_may ,income_june). Однако при использовании набора полей как в формуле greatestN(income_@) создается три поля тремя следующими формулами: greatestN(income_april), greatestN(income_may) и greatestN(income_june), что неприменимо.