Перейти к содержанию

Версия 26.05.1.1

Новое

Таблицы фактов и связи в РПИ

Таблицы фактов и их связи со справочниками теперь входят в состав РПИ, поэтому всю структуру проекта можно просматривать, экспортировать и импортировать в одном месте. На экране РПИ появились две новые вкладки: «Таблицы фактов» и «Связи». Вкладка «Таблицы фактов» содержит список таблиц фактов текущей версии проекта с их названиями и описаниями, а добавленные в них показатели, измерения, факты и связанные справочники отображаются наборами пилюль; по каждой колонке доступны сортировка и поиск. Действия в строке открывают таблицу фактов для настройки, открывают диалог редактирования её названия, описания и базовой таблицы в БД либо удаляют её; новую таблицу фактов также можно создать прямо на этой вкладке. Вкладка «Связи» содержит список связей, определённых между таблицами фактов и справочниками, с указанием таблицы фактов, справочника, ключа в таблице фактов, ключа в справочнике и типа связи, который в настоящий момент всегда «Многие-к-одному». Её действия открывают диалог «Редактировать связь», в котором можно изменить или оставить пустой конфигурацию внешнего ключа, и диалог подтверждения удаления связи, которое удаляет конфигурацию внешнего ключа в соответствующей таблице фактов. Создание, редактирование и удаление на обеих вкладках доступны ролям «Суперадминистратор», «Администратор компании» и «Разработчик»; остальные роли видят вкладки без кнопок действий.

Происхождение показателей с производными измерениями

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

Автоматическое заполнение таблиц фактов

Таблицу фактов теперь можно собрать из РПИ автоматически, а не подбирать каждый элемент вручную. В диалогах добавления и редактирования таблицы фактов появилось поле «Базовая таблица в БД», в котором выбирается таблица из одного из подключений проекта; выбранная таблица сохраняется в настройках таблицы фактов. Если базовая таблица выбрана при создании таблицы фактов, система предлагает заполнить её: нажмите «Заполнить автоматически», чтобы запустить заполнение, или «Создать пустую», чтобы начать с пустой конфигурации. Заполнение проходит по зависимостям в РПИ: сначала добавляются первичные измерения и первичные факты, подключённые источники которых указывают на поля базовой таблицы, затем рекурсивно добавляются производные измерения и производные факты, рассчитываемые из уже добавленных элементов, вместе с нужными им первичными и константными фактами, и в конце — показатели, которые можно рассчитать из этого набора. Измерения, входящие в справочник, добавляются вместе со своим справочником и остаются в нём. После завершения заполнения блоки показателей размещаются на канве настройки по уровням зависимостей: сначала показатели, рассчитываемые напрямую из измерений и фактов, затем показатели, рассчитываемые из них, и так далее. После этого любой блок можно переместить, а элементы — добавить или убрать вручную до сохранения.

Уже сохранённую таблицу фактов можно заполнить заново действием «Перезаполнить» или изменив базовую таблицу в БД в диалоге её редактирования; в обоих случаях система запрашивает подтверждение до внесения изменений, а при отмене таблица фактов остаётся в последнем сохранённом состоянии. При перезаполнении текущие показатели, измерения и факты удаляются и добавляются из РПИ заново, а ранее добавленные справочники, их внешние ключи, относящиеся к выбранной базовой таблице, и фильтры для проверки таблицы фактов сохраняются. Фильтр для проверки, который после перезаполнения ссылается на отсутствующий в таблице фактов элемент, становится невалидным, но не удаляется, и снова становится валидным, когда пропавший элемент добавляют обратно. Если в задействованных формулах есть циклические ссылки, операция отменяется с предупреждением и ничего не изменяется; если по выбранной базовой таблице не удалось подобрать ни одного элемента, текущая конфигурация также остаётся без изменений.

Чтение конфигурации подключений через API

Внешние инструменты и AI-агенты теперь могут получить сведения о том, как обратиться к хранилищу данных, без ручной передачи этих сведений. Публичный API возвращает подключения версии проекта — с необязательной фильтрацией по типу СУБД (PostgreSQL, ClickHouse, MS SQL Server) и по статусу подключения, — полные параметры отдельного подключения и его сохранённую схему с доступными таблицами и колонками. Пароли и другие учётные данные никогда не возвращаются, и ни один вызов не устанавливает соединение с целевой базой данных и не выполняет в ней запросов: схема — это снимок, сделанный при настройке подключения или при последнем его обновлении, и в ответе указано, когда этот снимок был получен. Запросы аутентифицируются ключом API, ограничены проектами вашей компании, к которым у вас есть доступ, и каждая попытка записывается в системный журнал.

Чтение конфигурации витрин через API

Структура собранных витрин теперь доступна через публичный API, поэтому агент или внешнее приложение может выяснить, что содержит витрина и как её запрашивать. Можно получить список витрин версии проекта с фильтрацией по типу витрины и типу слияния или поиском по названию и описанию, прочитать полную конфигурацию отдельной витрины и метаданные физического объекта, созданного для неё в базе данных, — его вид, базу данных, схему, название, время создания и подключение либо явный ответ о том, что такого объекта нет. Отдельный вызов возвращает SQL-запрос SELECT, сгенерированный для витрины, с необязательным ограничением количества строк и смещением. API только формирует и возвращает запрос: он не выполняется, данные не отображаются, физические объекты не создаются и не изменяются. Все роли проекта имеют доступ к этим данным только на чтение.

Чтение конфигурации модели данных через API

Логическую модель версии проекта теперь можно читать через публичный API наряду с её показателями, измерениями и фактами. Новые эндпоинты возвращают справочники с их первичным ключом, входящими измерениями и таблицами фактов, которые на них ссылаются; таблицы фактов с их показателями, измерениями, фактами, фильтрами для проверки и связанными справочниками; связи с указанием таблицы фактов, справочника и сопоставленных ключей с каждой стороны. Для каждой группы есть эндпоинт списка и эндпоинт деталей, а сводный экспорт возвращает содержимое РПИ вместе с этими сущностями модели данных в одном ответе с временем экспорта. Эти эндпоинты также принимают format=xlsx, который формирует книгу Excel и возвращает подписанную ссылку для её скачивания. Правила доступа те же, что и для остального публичного API: ключ API, только чтение, ограничение проектами вашей компании и запись в системный журнал.

Единое представление происхождения

Продукт теперь показывает одно и то же представление происхождения элемента, откуда бы вы его ни открыли, поэтому не нужно искать экран с подходящим его вариантом. Происхождение можно открыть для показателей любого типа, для производных измерений и для производных фактов: в РПИ — кнопкой «Посмотреть происхождение» на панели управления, которая появляется, когда выбран один элемент с доступной для него ячейкой формулы, и из диалога «Детали из РПИ» на экранах модели данных, таблиц фактов и витрин. В представлении производные измерения и производные факты показаны отдельными блоками со своими формулами и связаны с элементами, используемыми в этих формулах, первичные факты сгруппированы в один блок фактов, где константные факты показывают присвоенные им значения, а первичные измерения сгруппированы в один блок измерений. С помощью действия «Выбрать слои» можно отключить слой таблиц фактов и справочников, который по умолчанию отображается между элементами и таблицами базы данных, и переключить таблицы базы данных между полным видом и сокращённым, содержащим только используемые в расчётах поля; факты и измерения, не входящие ни в одну таблицу фактов и ни в один справочник, связываются напрямую с соответствующим полем таблицы базы данных. Щелчок по элементу выделяет его название полужирным во всех формулах представления, выделить можно несколько элементов одновременно, а щелчок по фону снимает выделение.

Представление доступно только для просмотра: в нём нельзя добавлять и удалять элементы, нельзя рисовать соединительные линии, и система не предлагает его сохранить, потому что оно строится автоматически при каждом открытии. Всё, что вы меняете в диалогах «Детали из РПИ» или «Редактировать показатель», отражается в происхождении сразу после сохранения.

Улучшения

  • Длинные значения больше не растягивают поля ввода и выпадающие списки: в диалогах добавления и редактирования фильтров для проверки внутри таблицы фактов размер поля не меняется при выборе длинного значения, а непоместившееся значение обрезается и заканчивается многоточием (IMP-2537)
  • Публичный API теперь доступен только компаниям с действующей лицензией: запрос от компании без неё отклоняется с ошибкой о том, что API недоступен без действующей лицензии (IMP-2596)

Исправления

Управление деталями таблицы фактов

  • Исправлено: изменение базовой таблицы в БД у таблицы фактов больше не очищает конфигурацию таблицы фактов и взятые из базы данных таблицы (IMP-2676)

Управление импортом/экспортом данных продукта и API

  • Исправлено: порядок колонок измерений, возвращаемых API, теперь соответствует порядку колонок в приложении (IMP-2532)
  • Исправлено: последний шаг импорта больше не завершается ошибкой сервера (IMP-2666)

Управление подключениями проекта

  • Исправлено: в только что созданном проекте флажки подключённых баз данных теперь можно выбирать при создании таблицы фактов (IMP-2516)

Управление содержимым таблиц РПИ

  • Исправлено: двойной щелчок по заголовку колонки на вкладках РПИ больше не открывает режим редактирования первой ячейки этой колонки (IMP-2536)