Конструктор формул
Конструктор формул — это визуальный редактор формул показателей, производных и константных измерений, а также производных и константных фактов. Формула отображается в нём как схема связанных блоков, причём схема и текст формулы синхронизированы: изменение одного обновляет другое.
Открытие конструктора
Кнопка Открыть конструктор формул доступна:
- На панели управления таблицей на вкладках Показатели, Измерения и Факты, когда выделена ровно одна строка
- В диалоговом окне Детали из РПИ элемента
- Рядом с полем Формула в окне показателя
Для показателей кнопка активна всегда, для измерений и фактов — только когда их тип Производный или Константа: первичные элементы описываются подключённым источником, а не формулой. Для элементов с ошибками кнопка недоступна.
Окно конструктора
| Область | Содержание |
|---|---|
| Строка формулы | Название элемента и его формула в виде текста. Формулу можно править прямо здесь |
| Панель элементов (слева) | Элементы, функции, операторы и константы, из которых строится формула |
| Холст | Формула в виде схемы блоков |
| Панель Свойства (под холстом) | Информация о выбранном блоке |
| Нижняя панель | Кнопки Отмена и Применить |
Рядом со строкой формулы расположены кнопки Отменить, Повторить и Сбросить все изменения. Кнопка Сбросить все изменения возвращает формулу к состоянию на момент открытия конструктора. Работают также сочетания Ctrl + Z и Ctrl + Y. На холсте есть стандартные элементы управления масштабом и вписыванием схемы в окно.
Панель элементов
Панель начинается с поля поиска и разделена на сворачиваемые разделы:
| Раздел | Содержание |
|---|---|
| Показатели, Измерения, Факты | Элементы текущей версии проекта |
| Функции | Сгруппированы как Агрегация, Строковые, Дата и время, Условные и Обработка NULL |
| Операторы | Арифметические и Строковые |
| Сравнения и логика | Сравнения, Логические и Диапазон |
| Константы | Числовая или текстовая константа, логические значения, пустое значение и текущая дата |
Рядом с названием функции или оператора в строке показан синтаксис их вызова. Поиск раскрывает разделы, в которых есть совпадения; если их нет, раздел показывает сообщение Элементы не найдены. У строки элемента есть также значок информации, открывающий для него окно Детали из РПИ. Элементы с ошибками добавить в формулу нельзя.
Построение формулы
- Перетащите элемент из панели на холст или щёлкните по нему, чтобы поместить его в середину холста
- Функции и операторы помещаются вместе с пустыми слотами для аргументов — такой слот отображается блоком со знаком плюс
- Блоки соединяются перетаскиванием от выхода одного блока ко входу другого. К каждому входу и каждому выходу может идти только одна связь: новая связь заменяет конфликтующую с ней
- Связь удаляется выделением и кнопкой удаления, блок — крестиком в его углу
- Блок результата всегда присутствует на холсте и не удаляется. Он обозначает значение, которое даёт формула целиком
Виды блоков на холсте:
| Блок | Содержимое |
|---|---|
| Элемент | Название показателя, измерения или факта |
| Функция | Название функции в заголовке и по одной строке на аргумент |
| Оператор | Символ оператора и его операнды, обозначенные A и B (а для операторов диапазона — C) |
| Константа | Само значение. Числовая или текстовая константа редактируется двойным щелчком |
| Пустой слот | Ещё не заполненный аргумент |
У функций агрегации в блоке есть строка FILTER над строками FIELD: связь с FILTER становится условием, ограничивающим агрегируемые значения. У операторов IN, NOT IN, BETWEEN и NOT BETWEEN есть собственные поля для списка значений или границ диапазона.
Просмотр формулы вложенного элемента
Если блок ссылается на элемент, у которого есть собственная формула, у блока появляется кнопка раскрытия. При раскрытии формула этого элемента отображается слева от блока другим цветом как предварительный просмотр. При этом доступны два действия:
- Применить к формуле — подставляет раскрытую формулу вместо ссылки, и она становится частью редактируемой формулы
- Свернуть — скрывает предварительный просмотр и оставляет ссылку без изменений
У аргументов функции, к которым идёт связь, есть собственные элементы управления Развернуть и Свернуть, скрывающие или показывающие всё, что подаётся на этот аргумент.
Панель свойств
При щелчке по блоку в панели отображаются:
- Вид блока и его название или значение
- Для функций и операторов — описание того, что они делают, включая назначение входов
FIELDиFILTER - Текущая формула — фрагмент формулы, который даёт этот блок с текущими связями
- Для элемента — его тип расчёта, его собственная формула со ссылками в виде названий и ссылка Посмотреть детали из РПИ
Пока ничего не выбрано, панель показывает подсказку выбрать элемент или написать формулу.
Проверка формулы
Формула в строке формулы проверяется по мере ввода. Ошибки подчёркиваются, а их описание отображается при наведении; выполняется тот же набор проверок, что и для ячейки формулы в таблице РПИ (см. страницу Синтаксис формул).
Если формулу, с которой открылся конструктор, разобрать не удалось, над холстом появляется сообщение о синтаксических ошибках с кнопкой Очистить формулу. Оно исчезает, как только вы начинаете строить формулу заново.
Сохранение
Кнопка Применить записывает формулу в колонку Формула элемента. Кнопка недоступна, если формула пустая, а также в режиме просмотра.
Если закрыть конструктор кнопкой Отмена, крестиком или клавишей Escape при наличии несохранённых изменений, система задаст вопрос Сохранить изменения в формуле и предложит варианты Выйти без сохранения и Сохранить изменения.
Роли
Для редактирования формулы требуется роль Разработчик или выше и действующая лицензия.
Для ролей Аналитик и Наблюдатель конструктор открывается в режиме просмотра. Они могут читать формулу и всю схему, перемещать холст и блоки, менять масштаб, выделять блоки и читать панель Свойства, раскрывать и сворачивать формулы вложенных элементов, а также открывать окно Детали из РПИ. Кнопки Отменить, Повторить и Сбросить все изменения им не отображаются, кнопка Применить недоступна, а блоки и связи нельзя добавлять, изменять и удалять.