Слой подключений
Слой «Подключения» вкладки «Конфигурация» связывает логическую модель с физической базой данных: он отображает таблицы подключённых баз данных и позволяет сопоставить каждый элемент таблицы фактов с реальной колонкой. Именно это сопоставление делает возможной генерацию SQL для показателей и витрин.
Переключение слоёв
Холст вкладки «Конфигурация» содержит два независимых слоя, которые переключаются кнопкой слоёв на панели над холстом:
| Слой | Содержание |
|---|---|
| «Показатели» | Показатели, факты, измерения и справочники из РПИ — логическая структура таблицы фактов |
| «Подключения» | Таблицы подключённых баз данных и их связи с элементами модели |
Оба слоя включены по умолчанию и включаются или отключаются независимо. На той же панели расположены кнопка «Сохранить» и кнопка «Перезаполнить».
Добавление таблиц базы данных на холст
Левая панель содержит список активных подключений проекта. Под названием каждого подключения перечислены его таблицы.
- Установите флажок у таблицы, чтобы поместить её на холст, и снимите флажок, чтобы убрать. Таблицу также можно перетащить с панели на холст
- Таблицу, у которой есть хотя бы одно сопоставление, снятием флажка убрать нельзя — сначала удалите её сопоставления
- Поле поиска над панелью фильтрует названия таблиц внутри каждого подключения и одновременно фильтрует список элементов слоя «Показатели»
- Для подключений MS SQL Server названия таблиц отображаются в виде
схема.таблица, для остальных диалектов — как имя таблицы - Список таблиц берётся из схемы, сохранённой для подключения, а не из запроса к базе данных в момент открытия. Неактивные подключения не предлагаются
- Если данные прочитать не удалось, на панели выводится сообщение «Не удалось получить данные из подключенной базы данных.» и ссылка «Проверьте подключение к базе данных», открывающая раздел «Подключения»
Сопоставление элемента с колонкой
Физическая таблица отображается блоком с названием таблицы в заголовке и одной строкой на каждую колонку. Каждую строку колонки можно соединить с одним элементом модели.
Проведите связь от элемента к строке колонки. Сопоставить можно следующие элементы:
| Элемент | Результат сопоставления |
|---|---|
| Измерение, факт, показатель таблицы фактов | Задаёт подключённый источник этого элемента в РПИ |
| Первичный ключ справочника | Задаёт первичный ключ справочника |
| Внешний ключ справочника внутри таблицы фактов | Задаёт внешний ключ связи между таблицей фактов и этим справочником |
| Первичный ключ таблицы фактов | Задаёт первичный ключ таблицы фактов |
Примечания:
- Связь всегда соединяет один элемент и одну колонку. Две колонки соединить друг с другом нельзя, как и два элемента
- У элемента может быть только одно сопоставление. Новая связь от уже сопоставленного элемента заменяет предыдущую
- Связи сопоставления отображаются анимированными пунктирными линиями
- Сопоставление измерения, факта или показателя хранится у элемента в РПИ, поэтому оно является общим для всех таблиц фактов и всех витрин, использующих этот элемент
Удаление сопоставления
Щёлкните по связи, а затем по появившейся на ней круглой кнопке удаления. Требуется подтверждение: окно «Удалить связь» предупреждает — «Вы уверены, что хотите удалить эту связь? Это повлияет на РПИ и все таблицы фактов и витрины, которые используют данный показатель/измерение».
Блок физической таблицы убирается с холста кнопкой закрытия на блоке, которая появляется только после того, как у таблицы не осталось сопоставлений.
Предупреждения о сопоставлении
Об отсутствующих и нарушенных сопоставлениях сообщается на узле элемента, но сохранению это не препятствует:
| Сообщение | Значение |
|---|---|
| «Поле подключенного источника данных в РПИ не настроено» | У элемента нет сопоставления |
| «Поле подключенного источника данных в РПИ ссылается на поле базы данных, которое не может быть найдено в настроенных подключениях к базе данных» | Сопоставленную колонку не удаётся найти ни в одном настроенном подключении |
| «Подключенное поле источника данных в РПИ ссылается на поле базы данных из подключения к базе данных, которое в данный момент неактивно» | Подключение сопоставленной колонки неактивно |
| «Столбец источника данных был удален из базы данных» | Колонки больше нет в базе данных |
| «Неверный формат подключенного источника данных в РПИ» | Сохранённое значение источника не удаётся распознать |
| «Такой таблицы не существует в подключенной базе данных» | Сопоставленной таблицы нет в подключённой базе данных |
| «Такой колонки не существует в выбранной таблице из подключенной базы данных» | Сопоставленной колонки нет в сопоставленной таблице |
Расположение блоков и сохранение
- Положения узлов слоя «Подключения» хранятся отдельно от положений узлов слоя «Показатели», но фиксируются одной кнопкой «Сохранить». Автосохранения нет
- Сохранённое положение всегда имеет приоритет. Узел, у которого сохранённого положения ещё нет, размещается автоматически: таблица базы данных, связанная со справочником, размещается рядом с этим справочником на следующем за ним уровне, а остальные таблицы — в свободном пространстве так, чтобы блоки не перекрывались
- Положения сохраняются при редактировании: добавление и удаление элементов, а также перезаполнение таблицы фактов не сбрасывают положение уже размещённых на холсте таблиц базы данных
- После перезаполнения таблицы фактов таблицы базы данных, у которых не осталось сопоставлений, убираются с холста
Права доступа
Для редактирования слоя «Подключения» требуется уровень доступа Разработчик или выше в проекте (Разработчик, Администратор компании, Суперадминистратор) и действующая лицензия. Без них слой доступен только для чтения: узлы нельзя перемещать, связи нельзя создавать и удалять, таблицы нельзя добавлять и убирать, а кнопки «Сохранить» и «Перезаполнить» не отображаются.
Ограничения:
- Связи проводятся только от элемента к колонке — соединения между двумя физическими таблицами создать нельзя. Соединения в сформированном SQL строятся по первичным и внешним ключам справочников
- У связи нет собственных настроек: тип соединения и редактор пар колонок отсутствуют
- В строках колонок отображается только имя колонки, без типа данных и без ключей, заданных в базе данных