Создание документов

Представление документа настраивается в пункте меню «POLYHUB -> Документы», через отдельную форму

Простая таблица

Задача:Для примера используется настроечная таблица datagrid с колонками: id, category, type, name, link, country, documer

Для добавления таблицы в Документы требуется создать документ с провайдером, настроенным для подключения.

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

Поля:

  • Наименование: Наименование документа, использующееся для работы в системе
  • Провайдер: Подключение, используется для получения данных
  • Статус: Статус документа
  • Связанные отчеты: Отчеты, использующие параметры из документа

После добавления провайдера появится возможность описать документ в конструкторе.

Виды конструирования:
- Простой
- Мастер - для дальнейшей работы требуется выбрать этот режим

В поле «Базовая сущность» передается схема и наименование таблицы через разделитель точка.
В текущем примере используется таблица datagrid в схеме dwh, в поле «Базовая сущность» указывается dwh.datagrid

В примере используется схема dwh
И таблица datagrid
В значении указываем dwh.datagrid

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

1. Перейдите в поле «Столбцы», двойным кликом откройте ячейку на редактирование, после перейдите в поле по кнопке или кликом на ячейку
2. Добавьте группу столбцов по кнопке + в правом верхнем углу карточки
3. Перейдите с добавленную группу по клику либо по кнопке
4. Откройте на редактирование поле «Элементы группы» двойным кликом и перейдите в поле по кнопке или кликом на ячейку
5. Добавьте в «Элементы группы» столбец по кнопке + в правом верхнем углу карточки
6. Перейдите в добавленный столбец для настройки столбца таблицы
7. Для каждого столбца, который необходимо отобразить в таблице повторите действие 5-6 необходимое количество раз

Возможные настройки для столбцов:

Обязательные:
- Атрибут: Наименование столбца в таблице источника
- Тип: Тип атрибута для редактирования ячеек столбца, по умолчанию являются «строкой» поле является списковым, возможные значения: Строка, Число, Дата и время, Дата, Время, Логический, Лукап, Выбор из списка, Текст. Также отвечает за отображения данных до версии 1.2.0

Важные:
- Первичный ключ: Столбец, в котором каждое значение в поле является уникальным. В документе должен быть 1 столбец, который имеет признак первичного ключа, доступно применение составных первичный ключей, в котором признак присвоен нескольким столбцам.
- Тип данных: Тип атрибута из источника, который будет передан при сохранении данных. Отвечает за отображение данных с версии 1.2.0

Необязательные:

- Расчетный: признак виртуального атрибута
- Значение по умолчанию: значение, передающееся в ячейку по умолчанию при редактировании или добавлении новых строк
- Редактируемый: признак, отвечающий за возможность редактировать ячейки столбца
- Внешний ключ: признак атрибута, не относящегося к целевой таблице
- Формат: тип представления данных в таблице, доступно Текст и Markdown
- Скрытый: признак, отвечающий за скрытие столбца в таблице
- Игнорируемое значение: при вводе значения, указанного в этом поле, значение не будет записываться в бд
- Выравнивание: выравнивание значений внутри ячейки столбца. Доступно: Влево, По центру, Вправо
- Наименование: Наименование колонки в таблице
- Лукап: Настройки для лукапа
-[option]: Опции, поддерживают sql, json, список опций – доступно задание списков для типов колонок выбор из списка - Ключевой атрибут: это ключ в родительской таблице, на который ссылается внешний ключ в другой (дочерней) таблице.
- Маска: паттерн, по которому валидируется вводимое значение в атрибут
- Только для чтения: признак указывает, что атрибут не редактируем и доступен только для просмотра
- Обязательный: Указывает, что поле не может быть пустым
- Период действия: применяется для историчных данных, доступно Начало действия, Окончания действия
- Ширина: ширина колонки в таблице, указывается в пикселях

После добавления всех необходимых столбцов, сохраните документ

Данные в виде json, возможно посмотреть во вкладке конструктора «Превью»

{
    "entity": "dwh.datagrid",
    "columns": [
        {
            "fields": [
                {
                    "name": "id",
                    "type": "text",
                    "primary": true,
                    "dataType": "number"
                },
                {
                    "name": "code",
                    "type": "text",
                    "primary": true,
                    "dataType": "text"
                },
                {
                    "name": "name",
                    "type": "text",
                    "dataType": "text"
                },
                {
                    "name": "dt",
                    "type": "text",
                    "dataType": "date"
                }
            ],
            "label": "Основные"
        }
    ]
}

После сохранения документов, в списке документов откройте Документ кликом на наименования

После открытия документа вам будет доступна таблица:

Документ с фильтром

Задача: Добавление фильтров в документ
Требуется: Добавить фильтры в существующий документ по столбцам:
Для настройки фильтров на начальной странице конструкторе перейдите в поле «Установки» двойным кликом для открытия редактирования и кликом или нажатием на кнопку перейдите в объект.

Для добавления фильтров по столбцам документа перейдите в установки

Шаги для перехода к настройкам фильтров:

1. Перейдите в поле «Фильтры», двойным кликом откройте ячейку на редактирование, после перейдите в поле по кнопке или кликом на ячейку
2. Добавьте группу фильтров по кнопке + в правом верхнем углу карточки
3. Перейдите с добавленную группу по клику, либо по кнопке
4. Откройте на редактирование поле «Столбцы группы» двойным кликом и перейдите в поле по кнопке или кликом на ячейку
5. Добавьте в «Столбец группы» столбец по кнопке + в правом верхнем углу карточки и выберите из списка доступных типов фильтров нужный

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

Разберем строковый фильтр:

Обязательные поля для всех типов фильтров:

- Фильтр: наименование атрибута из таблицы
- Строка: Предопределенный тип, не задается пользователем

Важные:

- Атрибут: Наименование атрибута заданного в таблице
- Условие фильтрации: Вложенный список, позволяющий выбрать какие условия фильтра можно выбрать при фильтрации в таблице. Возможные: Равно, Не равно, Содержит, Маска
- Наименование: Наименование фильтра в интерфейсе, если не указан то наименование пустое

Необязательные:

- Максимальная длина: Максимальное количество символов, доступных для ввода

В поле «Фильтр» введите наименование атрибута, заданного в столбцах, по которому будет вестись фильтрации, в поле атрибут введите еще раз наименования столбца из таблицы в БД

Укажите условия фильтрации

В поле Наименование, укажите отображаемое наименование фильтра

Порядок создания фильтров типа: Выбор из списка

Для создания фильтра типа Выбор из списка используются те же параметры, что и при создании других типов фильтров.
Для задания вариантов списка используется несколько вариантов: JSON, SQL, Список

JSON -
SQL - Получение вариантов значений из таблиц источника с помощью sql запроса описанным через jsqlib
Список - задание списка вручную с указанием отображаемого значения,

Рассмотрим вариант получения списка с использованием опции SQL

Откройте поле [options] и из списка доступных вариантов выберите SQL опции
Перейдите в добавленное поле SQL опции

Вам откроется карточка объекта, перейдите в поле запрос, запрос строится в конструкторе вручную с добавлением необходимых типов полей и их ключей.

Для получения возможных вариантов для ввода в поле будет использоваться запрос:

SELECT DISTINCT column

FROM table;

В готом виде json будет выглядеть таким образом

{
    "query": {
        "select distinct": [
            {
                "name": "version"
            }
        ],
        "from": [
            {
                "name": "dwh.result"
            }
        ]
    }
}

Для построения запроса перейдите в поле “Запрос”

Перейдите в карточку SELECT DISTINCT, добавьте элемент списка

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

Вернитесь в карточку объекта Запрос, и перейдите к карточке объекта FROM

Добавьте элемент списка и перейдите в него

Введите наименование схемы и таблицы, из которой нужно получить столбец

Для выбора провайдера, вернитесь по навигатору к карточке SQL опции и перейдите в карточку Провайдер

Выберите из списка нжный вам провайдер, в котором настроено подключение к БД

Документ с лукапом

Задача: Документ с лукапом

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

Используются также для сопоставления данных из разных таблиц. Они используются для связывания таблиц, фильтрации записей и оптимизации запросов.

Это мини-таблицы (справочники), которые хранят соответствия между ключами и значениями. Они применяются для:

  • Подстановки данных (например, замена ID на названия).
  • Обогащения основного датасета (добавление новых столбцов из справочника).
  • Фильтрации или агрегации (например, группировка по категориям из лукапа).

Для добавления таблицы с лукапом будет использоваться таблица dwh.columntype в которой связь с лукапом будет строиться по ключу orders.

Для добавления таблицы в Документы требуется создать документ с провайдером, настроенным для подключения.

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

Поля:

  • Наименование: Наименование документа, использующееся для работы в системе
  • Провайдер: Подключение, используется для получения данных
  • Статус: Статус документа
  • Связанные отчеты: Отчеты, использующие параметры из документа

После добавления провайдера появится возможность описать документ в конструкторе.

Виды конструирования:
Простой
Мастер

Все дальнейшие действия производятся в режиме «Мастер»

Рисунок. Настройка атрибутов документа

Укажите схему и название таблицы через разделитель точка в поле «»Базовая сущность»

Перейдите в поле «Установки», двойным кликом откройте его на редактирование, дополнительным кликом перейдите в объект.

В карточке объекта «лукапы» нажмите на кнопку +, вам откроется форма для добавления атрибута

В поле Тип значения выберите из списка «Лукап»
В поле «атрибут» введите наименование ключа, который будет являться идентификатором лукапа, (любой текст)

Наименование –укажите наименование, которое будет являться наименованием поля в конструкторе

После нажмите кнопку «добавить» и в списке доступных полей в объекте добавиться созданный атрибут

Укажите схему и наименование таблицы в сущности лукапа

Добавьте столбцы для лукапа

Шаги

1. Перейдите в поле «Столбцы», двойным кликом откройте ячейку на редактирование, после перейдите в поле по кнопке или кликом на ячейку
2. Добавьте группу столбцов по кнопке + в правом верхнем углу карточки
3. Перейдите с добавленную группу по клику либо по кнопке
4. Откройте на редактирование поле «Элементы группы» двойным кликом и перейдите в поле по кнопке или кликом на ячейку
5. Добавьте в «Элементы группы» столбец по кнопке + в правом верхнем углу карточки
6. Перейдите в добавленный столбец для настройки столбца таблицы
7. Для каждого столбца, который необходимо отобразить в таблице повторите действие 5-6 необходимое количество раз

Обязательные:
- Атрибут: Наименование столбца в таблице источника
- Тип: Тип атрибута для редактирования ячеек столбца, по умолчанию являются «строкой» поле является списковым, возможные значения: Строка, Число, Дата и время, Дата, Время, Логический, Лукап, Выбор из списка, Текст. Также отвечает за отображения данных до версии 1.2.0

Важные:
- Первичный ключ: Столбец, в котором каждое значение в поле является уникальным. В документе должен быть 1 столбец, который имеет признак первичного ключа, доступно применение составных первичный ключей, в котором признак присвоен нескольким столбцам.
- Тип данных: Тип атрибута из источника, который будет передан при сохранении данных. Отвечает за отображение данных с версии 1.2.0

Необязательные:

- Формат: тип представления данных в таблице, доступно Текст и Markdown
- Скрытый: признак, отвечающий за скрытие столбца в таблице
- Выравнивание: выравнивание значений внутри ячейки столбца. Доступно: Влево, По центру, Вправо
- Наименование: Наименование колонки в таблице
- Только для чтения: признак указывает, что атрибут не редактируем и доступен только для просмотра
- Период действия: применяется для историчных данных, доступно Начало действия, Окончания действия
- Ширина: ширина колонки в таблице, указывается в пикселях
-[option]: Опции, поддерживают sql, json, список опций – доступно задание списков для типов колонок выбор из списка

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

Столбцы в таблице

После добавления столбцов лукапа вернитесь к настройкам основной таблицы

По пути указанном над панелью действий конструктора

Перейдите в поле столбцы

1. Перейдите в поле «Столбцы», двойным кликом откройте ячейку на редактирование, после перейдите в поле по кнопке или кликом на ячейку
2. Добавьте группу столбцов по кнопке + в правом верхнем углу карточки
3. Перейдите с добавленную группу по клику либо по кнопке
4. Откройте на редактирование поле «Элементы группы» двойным кликом и перейдите в поле по кнопке или кликом на ячейку
5. Добавьте в «Элементы группы» столбец по кнопке + в правом верхнем углу карточки
6. Перейдите в добавленный столбец для настройки столбца таблицы
7. Для каждого столбца, который необходимо отобразить в таблице повторите действие 5-6 необходимое количество раз

В настройках столбцов кажите основные столбцы документа dwh.columntype

Столбец orders является ключом лукапа
В настройках столбца orders указывается тип лукап

Связь ключа основной таблицы осуществляется со связью ключа в таблице лукапа

В настройках лукапа укажите идентификатор, указанный при создании лукапа

Укажите наименование атрибута, по которому ведется связь (primary таблицы лукапа)

Для добавления атрибутов лукапа в основную таблицу
добавьте новый столбец

укажите наименование атрибута(любое наименование)

Укажите ключевой атрибут, внешний ключ который связывает основную таблицу с таблицей лукапов