Форма ввода данных с выбором значений из списка

 

Формы ввода данных позволяют использовать поля с выпадающими списками для упрощения ввода данных. Значения выпадающих списков берутся из заранее подготовленных Справочников. Например, при работе с сотрудниками можно создать Справочник со списком должностей («Менеджер», «Аналитик», «Разработчик» и пр.) и использовать его как источник значений для выпадающего списка. Это позволяет стандартизировать ввод данных и исключить ошибки. 

Справочник для выпадающего списка

Справочником для выпадающего списка является отдельная таблица ФВД. Она используется для хранения значений, которые будут доступны в выпадающем списке для выбора. Для заполнения и редактирования Справочника можно использовать Форму ввода данных.

Создание справочника

Для создания Справочника необходимо создать таблицу ФВД. Таблицу ФВД можно создать двумя способами:

  • использовать существующую таблицу хранилища;
  • создать таблицу ФВД напрямую через интерфейс портала (единственное отличие: при создании таблицы ФВД для Справочника необходимо указать Тип таблицы как «Справочник», а не как «Общая»).

Для того чтобы добавлять и редактировать значения справочника через интерфейс портала Modus BI, необходимо дополнительно настроить Форму ввода данных. Как настроить форму ввода данных описано в разделе «Настройка ФВД».

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

После создания и заполнения справочника необходимо настроить основную таблицу ФВД, в которой будут использоваться выпадающие списки. Это позволит связать данные справочника с полями в форме ввода и обеспечить корректный выбор значений.

Для настройки основной Таблицы ФВД имеется 2 варианта: 

  1. Создание таблицы Хранилища при помощи Modus BI.
  2. Использование существующей таблицы Хранилища.

Рассмотрим каждый вариант отдельно.

Вариант 1: Создание таблицы Хранилища при помощи Modus BI

Настройка Таблицы ФВД

Для работы с ФВД перейдите в раздел «Формы ввода данных» на главной странице Аналитического портала.

Далее перейдите в раздел «Настройки» (Администрирование), откройте вкладку «Таблицы», выберите значение в поле «Хранилище данных» из выпадающего списка.

Нажмите на кнопку «Добавить».

Введите имя и наименование таблицы ФВД в появившихся полях, нажмите на кнопку «Создать».

Нажмите на кнопку «Добавить поле» и добавьте поля для таблицы. Для выбранного поля прикрепите ранее настроенный Справочник и поле, которое будет использоваться в качестве выпадающего списка.  Нажмите на кнопку «Сохранить». Нажмите на кнопку «Записать в хранилище».

Сохранение данных в Хранилище

На уровне Хранилища данных выбор значений реализуется следующим образом:

  • значение, указанное в поле с выбором значений, сохраняется непосредственно в основной таблице ФВД;
  • основная таблица ФВД содержит поле, которое хранит ссылку на идентификатор записи в Справочнике;
  • справочник, связанный с полем, содержит список возможных значений для выбора;
  • для отображения данных в отчетах используется прямое обращение к основной таблице без необходимости дополнительной агрегации.

Пояснение к схеме 

Основные таблицы:

  1. Таблица «Сотрудники» — основная таблица ФВД. Она хранит данные о сотрудниках, введенные пользователями через формы. Каждая запись уникальна и идентифицируется через поле 'сотрудники_id'. 
  2. Таблица «Справочник_Должностей» — справочник, содержащий возможные значения для поля с единичным выбором. Каждая запись уникальна и идентифицируется через поле 'справочник_должностей_id'. 

Связи: 

  • поле 'должность' в таблице «Сотрудники» связано с полем 'справочник_должностей_id' в таблице «Справочник_Должностей», что позволяет отслеживать, какую должность выбрал пользователь для каждого сотрудника. 

Поля таблиц: 

  • Сотрудники: 
    • 'сотрудники_id' — уникальный идентификатор сотрудника;
    • 'должность' — числовое значение, ссылающееся на идентификатор справочника;
    • 'имя' — имя сотрудника;
    • 'фамилия' — фамилия сотрудника. 
  • Справочник_Должностей: 
    • 'справочник_должностей_id' — уникальный идентификатор записи в справочнике, который связывает основную таблицу с должностями;
    • 'должность' — название должности в текстовом формате. 
  • Служебные поля: 
    • 'change_user' и 'change_date' используются для отслеживания изменений в записях;
    • 'deleted' позволяет помечать записи как удаленные, сохраняя их в базе данных. 

Отображение выпадающих списков в ФВД

Для отображения выпадающих списков необходимо проделать следующие шаги:

  • настройте Форму ввода данных (как настроить Форму ввода см. в разделе «Настройка ФВД»);
  • нажмите на кнопку «Добавить запись»;
  • в открывшейся Форме ввода разверните выпадающий список с выбором значений;
  • выберите необходимое значение;
  • нажмите на кнопку «Отправить данные».

Отображение данных ФВД в отчете на Аналитическом портале

Перейдите в раздел «Настройки» (Администрирование), перейдите на вкладку «Таблицы», в выпадающем списке «Хранилище данных» выберите необходимое Хранилище, где находится нужная таблица ФВД.
В выпадающем списке «Таблицы» выбрать нужную таблицу ФВД, найдите пункт «SQL Запрос» и нажмите на иконку глаза, чтобы посмотреть SQL-запрос для таблицы ФВД. Скопируйте SQL-запрос.

Перейдите на Аналитический портал в раздел «Настройки», перейдите на вкладку «Наборы данных». В выпадающем списке «Источники данных» выберите необходимый источник данных, нажмите на кнопку «Добавить набор». 
В появившемся окне: 

  • введите имя и наименование набора данных; 
  • нажмите на кнопку «Создать».

Найдите пункт «SQL Запрос» и вставьте ранее скопированный SQL-запрос.

Нажмите на кнопку «Проверить запрос». Убедитесь, что все поля из таблицы ФВД, включая служебные, отображаются в пункте «Описание полей набора данных». Нажмите на кнопку «Сохранить».

Теперь данные ФВД будут доступны для анализа и визуализации в отчете на Аналитическом портале.  Для табличного отображения данных ФВД:

  • создайте новый отчет в разделе «Отчеты»;
  • выберите компонент «Таблица» в конструкторе отчета;
  • в выпадающем списке выберите набор данных, который был создан ранее;
  • выберите необходимые поля из набора данных для отображения в таблице;
  • настройте вид таблицы (при необходимости) и сохранить отчет

Множественный выбор значений в выпадающих списках

Функционал множественного выбора в ФВД позволяет выбирать несколько значений в выпадающем списке при заполнении форм ввода. Это удобно для случаев, когда одно поле должно содержать несколько значений. Например, каждый фильм может одновременно относиться к нескольким жанрам, таким как комедия, драма, фантастика и пр.

Настройка Таблицы ФВД

Для настройки Таблицы ФВД с множественным выбором необходимо выполнить пункты, показанные ранее для обычных выпадающих списков, однако после прикрепления Справочника к нужному полю, необходимо установить галочку «Множественный выбор». 

Ограничения:

  1. Множественный выбор доступен только для полей, связанных со справочником.
  2. Множественный выбор нельзя включить для полей в уже существующих таблицах ФВД
  3. Возможность настройки множественного выбора доступна только на этапе создания таблицы ФВД
  4. После сохранения таблицы изменить настройки уже существующих полей и включить для них множественный выбор невозможно. 

Сохранение данных в Хранилище

На уровне Хранилища данных множественный выбор реализуется следующим образом:

  • значения, указанные в поле с множественным выбором, сохраняются в отдельной связанной таблице;
  • основная таблица ФВД и таблица значений связаны через уникальный идентификатор записи;
  • таблица значений хранит ссылки на Справочник, где указаны все возможные значения;
  • для отображения данных используется агрегирующий запрос, который собирает значения из таблицы значений в строку формата "значение1; значение2".

Пояснение к схеме 

Основные таблицы: 

  1. «Фильмы» — основная таблица ФВД. Она хранит данные о фильмах, введенные пользователями через формы. Каждая запись уникальна и идентифицируется через поле 'фильмы_id'; 
  2. «Справочник_Жанров» — справочник, содержащий возможные значения для поля с множественным выбором. Каждая запись уникальна и идентифицируется через поле 'справочник_жанров_id';
  3. «Фильмы_значения_жанров» — автоматически создаваемая связующая таблица. Она обеспечивает связь между основной таблицей ФВД и справочником через уникальные идентификаторы. 

Связи: 

  • поле 'фильмы_id' из таблицы "Фильмы" связано с таблицей "Фильмы_значения_жанров", что позволяет отслеживать, какие значения множественного выбора связаны с каждой записью основной таблицы;
  • поле 'жанр' из таблицы "Фильмы_значения_жанров" связано с таблицей "Справочник_Жанров", что обеспечивает доступ к описанию и характеристикам выбранных значений из справочника. 

Поля таблиц: 

  • Фильмы:
    • 'фильмы_id' — уникальный идентификатор записи в таблице;
    • 'дата_выхода' — дата выхода фильма;
    • 'имя' — название фильма. 
  • Справочник_Жанров:
    • 'справочник_жанров_id' — уникальный идентификатор записи в справочнике;
    • 'жанр' — название или описание значения справочника. 
  • Фильмы_значения_жанров:
    • 'фильмы_id' — идентификатор записи в основной таблице;
    • 'жанр' — идентификатор значения из справочника. 
  • Служебные поля: 
    • 'change_user' и 'change_date' используются для отслеживания изменений в записях;
    • 'deleted' позволяет помечать записи как удаленные, сохраняя их в базе данных.

Агрегация:

  • для отображения множественных значений в интерфейсе выполняется запрос, который собирает данные из таблицы «Фильмы_значения_жанров» и преобразует их в строку формата 'значение1; значение2'. 

Отображение множественного выбора значений в ФВД

Настройте Форму ввода данных (как настроить Форму ввода см. раздел «Настройка ФВД»). Нажмите на кнопку «Добавить запись». В открывшейся Форме ввода разверните выпадающий список с множественным выбором значений. Отметьте галочками необходимые значения, нажмите на кнопку «Отправить данные».

В списке записей ФВД множественный выбор значений выглядит как показано на рисунке.

Отображение данных ФВД в отчете на Аналитическом портале

Для отображения данных ФВД с множественным выбором выполните пункты, показанные ранее для выпадающих списков без множественного выбора.

В отчете в виде таблицы множественный выбор значений ФВД выглядит так, как показано на рисунке ниже (если необходимо выводить множественные значения в разных строках, нужно подкорректировать SQL-запрос в наборе данных).

Вариант 2: Использование существующей таблицы Хранилища
Настройка Таблицы ФВД

Для работы с ФВД перейдите в раздел «Формы ввода данных» на главной странице Аналитического портала.

Далее перейдите в раздел «Настройки» (Администрирование), откройте вкладку «Таблицы», выберите Хранилище данных из выпадающего списка.

Нажмите на кнопку «Добавить».

Введите имя и наименование таблицы ФВД в появившихся полях, нажмите на кнопку «Создать».

Нажмите на кнопку «Выбрать».

Выберите существующую таблицу Хранилища данных из выпадающего списка (таблица должна иметь Primary key, иначе она не будет отображаться в выпадающем списке), нажмите на кнопку «Выбрать».

Нажмите на кнопку «Добавить поле» и добавьте новое поле для таблицы. Для добавленного поля прикрепите ранее настроенный Справочник и поле, которое будет использоваться в качестве выпадающего списка. Нажмите на кнопку «Сохранить» (после сохранения изменение таблицы будут недоступно).

Отображение выпадающих списков в ФВД

Для отображения выпадающих списков:

  • настройте Форму ввода данных (как настроить Форму ввода см. раздел «Настройка ФВД»);
  • нажмите на кнопку «Добавить запись»;
  • в открывшейся Форме ввода разверните выпадающий список с выбором значений;
  • выберите необходимое значение;
  • нажмите на кнопку «Отправить данные».

Отображение данных ФВД в отчете на Аналитическом портале

Перейдите в раздел «Настройки» (Администрирование), откройте вкладку «Таблицы». В выпадающем списке «Хранилище данных» выберите необходимое хранилище, где находится нужная таблица ФВД.

В выпадающем списке «Таблицы» выберите нужную таблицу ФВД,  найдите пункт «SQL Запрос» и нажмите на иконку глаза, чтобы посмотреть SQL-запрос для таблицы ФВД. Скопируйте SQL-запрос.


Перейдите на Аналитический портал в раздел «Настройки», перейти на вкладку «Наборы данных». В выпадающем списке «Источники данных» выберите необходимый источник данных. Нажмите на кнопку «Добавить набор».

В появившемся окне: 

  • введите имя и наименование набора данных; 
  • нажмите на кнопку «Создать»;
  • найдите пункт «SQL Запрос» и вставьте ранее скопированный SQL-запрос;

  • нажмите на кнопку «Проверить запрос»;
  • убедитесь, что все поля из таблицы ФВД, включая служебные, отображаются в пункте «Описание полей набора данных»;
  • нажмите на кнопку «Сохранить».

Теперь данные ФВД будут доступны для анализа и визуализации в отчете на Аналитическом портале. 

Для табличного отображения данных ФВД:

  • создайте новый отчет в разделе «Отчеты»;
  • выберите компонент «Таблица» в конструкторе отчета;
  • в выпадающем списке выберите набор данных, который был создан ранее;
  • выберите необходимые поля из набора данных для отображения в таблице;
  • настройте вид таблицы (при необходимости) и сохраните отчет

Множественный выбор значений в выпадающих списках

​Для варианта использования существующей таблицы Хранилища тоже есть возможность использовать множественный выбор с некоторыми ограничениями (см. ниже).

Функционал множественного выбора в ФВД позволяет выбирать несколько значений в выпадающем списке при заполнении форм ввода. Это удобно для случаев, когда одно поле должно содержать несколько значений. Например, каждый фильм может одновременно относиться к нескольким жанрам, таким как комедия, драма, фантастика и пр.

Настройка Таблицы ФВД

Для настройки Таблицы ФВД с множественным выбором необходимо выполнить пункты, показанные ранее для обычных выпадающих списков, однако после прикрепления Справочника к нужному полю, необходимо установить галочку «Множественный выбор». 

Ограничения:

  1. Множественный выбор доступен только для полей, связанных со справочником.
  2. Множественный выбор нельзя включить для полей в уже существующих таблицах ФВД.
  3. Возможность настройки множественного выбора доступна только на этапе создания таблицы ФВД
  4. После сохранения таблицы изменить настройки уже существующих полей и включить для них множественный выбор невозможно. 
  5. Множественный выбор нельзя применить к существующим полям в таблице Хранилища данных.
  6. Если таблица ФВД создается на основе существующей таблицы Хранилища данных, то множественный выбор нельзя активировать для полей, которые уже есть в этой таблице. 
  7. Чтобы использовать множественный выбор, необходимо добавить новое поле с этой настройкой на этапе создания таблицы ФВД.

Отображение множественного выбора значений в ФВД

Для отображения выпадающих списков:

  1. Настройте Форму ввода данных (как настроить Форму ввода см. в разделе «Настройка ФВД»).
  2. Нажмите на кнопку «Добавить запись».
  3. В открывшейся Форме ввода разверните выпадающий список с множественным выбором значений.
  4. Отметьте галочками необходимые значения.
  5. Нажмите на кнопку «Отправить данные».

В списке записей ФВД множественный выбор значений выглядит так, как представлено на рисунке ниже.

Отображение данных ФВД в отчете на Аналитическом портале

Для отображения данных ФВД с множественным выбором выполните пункты, показанные ранее для выпадающих списков без множественного выбора.

В отчете в виде таблицы множественный выбор значений ФВД выглядит так, как представлено на рисунке ниже (если необходимо выводить множественные значения в разных строках, нужно подкорректировать SQL-запрос в наборе данных).