Перейти к основному содержимому

09 Данные

Для того, чтобы перейти в раздел “Данные”, кликните на его обложку на стартовой странице либо выберите этот раздел в панели навигации.

Раздел “Данные” на стартовой странице LuxmsBI
к сведению

Раздел “Данные” недоступен пользователям с сайтовой ролью Viewer.

Подраздел “Источники данных”

В подразделе “Источники данных” можно подключать источники данных и создавать кубы на их основе.

Для каждой из баз данных (Excel, ClickHouse, MS SQL, PosgreSQL, Oracle, MySQL, и остальные) в интерфейсе создана отдельная закладка, учитывающая особенности наcтройки параметров подключения.

Раздел “Источник данных”

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

Меню сортировки источников

Подключение базы данных как источника

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

к сведению

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

После клика по кнопке создания источника справа появится окно ввода параметров подключения к источнику. Список параметров подключения будет отличаться в зависимости от выбранного типа источника данных.

к сведению

ID источника данных не может быть изменено после создания.

Окно создания источника данных

Необходимо заполнить все поля, представленные в данном окне:

  1. ID - идентификатор источника данных
  2. Имя - название источника, отображаемое в Luxms BI.
  3. Сервер - адрес сервера, по которому находится источник данных.
    Вместо указания адреса сервера можно переключиться в режим ввода JDBC URL, щеклнув по переключателю “URL”
  4. Database - название базы данных.
  5. Логин - логин учётной записи в базе данных для подключения к источнику.
  6. Пароль - пароль учётной записи в базе данных для подключения к источнику.

При заведении JDBC URL можно использовать дополнительные параметры соедниния, специфичные для каждого типа СУБД, такие как использование SSL/TLS, таймаут соединения (connectTimeout) и многие другие. Пример JDBC URL-адреса соединения:

jdbc:clickhouse://some.clickhouse.server:443/default?max_insert_block_size=100000&max_threads=8&ssl=true&socket_timeout=1800000

После ввода данных, вы можете проверить корректность установленных параметров с помощью тестового подключения. Для этого нажмите на кнопку “Проверить соединение”.

Для сохранения данных для подключения нажмите на “Добавить”.

Для отмены действия нажмите на кнопку в правом верхнем углу окна.

В случае необходимости редактирования данных для подключения, нажмите на “Редактировать”. Окно редактирования источника аналогично окну создания источника данных.

Для удаления подключения к источнику нажмите на “Удалить” и подтвердите действие во всплывающем окне в правой части экрана

Всплывающее окно подтверждения удаления источника

Для отмены действия нажмите на кнопку “Отмена” либо на в правом верхнем углу окна.

Импорт файла как источника данных

Создания нового источника данных возможно также на основе файлов в форматах XLS, XLSX, CSV, DBF, QVD, Avro, Parquet. Для этого кликните по соответствующей вкладке, а потом нажмите на . Откроется окно создания источника данных.

Окно создания источника данных на основе файла

Для загрузки файла в систему, перенесите его мышью (drag’n’drop) на страницу импорта, либо нажмите на слово “Кликните” и укажите путь до файла.

Окно загрузки нового файла

Если вы загружаете файл CSV формата, то программа предложит вам указать тип разделителя (пробел, вертикальную черту, запятую или точку с запятой). Это необходимо для корректного отображения источника в Luxms BI.

Выбор разделителя при загрузке csv-файла.png

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

Окно загрузки источника данных с одним файлом Excel

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

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

Переименование столбца
к сведению

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

Для каждого из столбцов необходимо указать тип: STRING (строка), INT (целочисленное значение), DOUBLE (значение со знаками после запятой), DATETIME (период).

Указание типа данных для столбцов в Excel

Для корректной работы даты (типа DATETIME) необходимо указать, в каком формате дата содержится в файле. Например, если у вас в файле дата записана в формате 11.05.2023, то формат должен быть указан следующим образом: дд.мм.гггг или dd.mm.yyyy. В этом случае программа сможет правильно привести дату к корректному для SQL формату.

Если в импортируемом файле первая строка является заголовком, необходимо её выделить и нажать на кнопку “Строку в заголовок”.

Перенос первой строки в заголовок

Для удаления столбца кликните на его заголовок (это выделит весь столбец), а потом кликните на кнопку “Удалить столбец”.

Удаление столбца при загрузке файла Excel

Удаление строки производится выделением строки и кликом по кнопке “Удалить строку”.

Удаление строки при загрузке файла Excel

Luxms BI позволяет удалить сразу несколько строк или столбцов. Чтобы удалить несколько последовательных строк или столбцов, нужно зажать Shift и щелкнуть левой кнопкой мыши по первому и последнему пункту в выбранном диапазоне. Если необходимо выбрать несколько столбцов или строк из разных частей таблицы, нужно зажать Ctrl и кликнуть по ним левой кнопкой мыши.

В случае необходимости отмены предыдущих действий, нажмите на кнопку “Отмена”, либо отредактируйте код, сгенерированный при редактировании источника.

Пример кода, сгенерированного при редактировании источника

После проведения всех необходимых манипуляций укажите ID и имя источника. Кроме того, выберите его тип: будет ли источник относится к глобальным или локальным, то есть будет доступен из любого атласа или только из некоторых. В конце нажмите кнопку “Добавить”, тем самым сохранив источник данных.

Поля ввода ID и названия источника, а также выбора глобального или локального типа для него
осторожно

Внимание! Для корректной работы ID источника необходимо указывать латинскими буквами. ID не должен начинаться с цифры. В случае, когда в названии встречаются пробелы или косые черты, Luxms BI автоматически заменяет их на нижние подчеркивания.

Обновление источника данных из файла Excel

Чтобы переименовать источник, кликните по соответствующей кнопке в окне Источников данных и в открывшемся окне введите новое название, после чего подтвердите действие кнопкой “Сохранить”.

Переименование источника

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

Обновление источника данных

Если новые данные были записаны в тот Excel, из которого был создан источник, то для обновления необходимо “перезаписать” документ.

Если новые данные были записаны в новый Excel, то для обновления необходимо “добавить” документ.

осторожно

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

Чтобы убрать источник из списка кликните по кнопке “Удалить” и подтвердите свое решение в открывшемся окне.

Удаление источника данных

Подраздел “Кубы”

Создание куба

Для того, чтобы создать куб, откройте раздел “Данные” и перейдите в подраздел “Кубы”

Таблица созданных кубов
к сведению

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

Чтобы открыть окно создания куба нажмите на .

Окно создания нового куба

Выберите источник данных, из которого будет создан куб. Для этого нажмите на кнопку “Выбрать источник” в правом верхнем углу окна “Создание нового куба”.

Список подключенных источников

В этом окне вы можете:

  • Отобрать для поиска все источники или оставить только глобальные или локальные источники;
  • Создать новый источник с помощью кнопки в правом верхнем углу окна;
  • Найти источник данных;
  • Выбрать тип базы данных;
  • Отсортировать источники по алфавиту.

Вы можете воспользоваться поиском для фильтрации списка источников.

Поиск по подключенным источникам данных
к сведению

Поиск по схемам работает аналогично поиску по источникам данных.

После выбора источника данных в списке “Схемы в источнике данных” будут отображены все схемы, доступные для учётной записи, используемой при подключении.

Список схем
к сведению

В случае создания источника из файлов формата xlsx/csv каждый отдельный файл будет отображаться как схема.

При нажатии на схему откроется список таблиц внутри схемы.

Список таблиц в схеме

Перетащите таблицу на поле “в клетку” для генерации SQL-запроса к источнику.

Создание куба

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

Генерация запроса из двух таблиц

Для указания связей необходимо произвести следующие действия:

  1. Удерживать левую кнопку мыши у того поля, которое необходимо связать со второй таблицей.
  2. Продолжая удерживать левую кнопку мыши, переместить курсор к следующей таблице на поле “в клетку”.
  3. Отпустить левую кнопку мыши, когда поле, которое необходимо связать, будет выделено цветом. Образуется связь. Теперь, если щёлкнуть по стрелке, то она, и назания полей, которые она связывает, выделятся цветом.
Указание связей таблиц

Можно отредактировать куб, редактируя SQL-запрос напрямую. Для этого необходимо перейти из вкладки tables (1) во вкладку SQL (2).

Cмена вкладки на sql

В открывшейся вкладке вы увидите сгенерированный SQL-запрос. В него можно внести изменения. Результат правок отразится на формируемом кубе, если нажать кнопку “Выполнить” в нижней части экрана.

осторожно

Клик по кнопке “Выполнить” переводит работу над кубом в SQL-режим. После этого таблицы на листе в клеточку пропадут и работу можно будет продолжить только в SQL-режиме.

SQL-режим
к сведению

Куб можно построить на базе любого SQL запроса, не обязательно связвать таблицы в визуальном представлении

к сведению

Имеется возможность построить куб на основе вызова UDF (used-defined function), которые заранее созданы внутри СУБД, используемой в Источнике данных. См. описание в Приложении

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

Режим предпросмотра

Для удобства тип данных date выделяется зелёным цветом, а intenger - фиолетовым. Таблицу можно отсортировать по любому из показателей, для этого достаточно кликнуть на кнопку сортировки у нужного показателя в шапке таблицы.

Каждую отдельную строку можно рассмотреть подробнее. Это особенно удобно, если она слишком длинная и не помещается на экран целиком. Чтобы увидеть все данные, нужно кликнуть правой кнопкой мыши по пространству правее номера строки, а потом по появившейся там кнопке переворота.

Просмотр одной строки

Чтобы выйти обратно в окно предпросмотра, кликните по кнопке “Назад” над таблицей.

По умолчанию окно предпросмотра открывается в нижней половине экрана. Однако, его можно переместить в правую половину экрана с помощью кнопки или развернуть на весь экран, кликнув по кнопке .

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

Режим предпросмотра на весь экран

После указания связей всех таблиц на поле “в клетку” кнопка “Вперёд” в правом верхнем углу станет активной.

Переход на “Шаг 2” создания куба

На втором шаге создания куба вы можете проверить все параметры создаваемого куба. Например, прописать заголовки для полей так, как они будут отображаться в Luxms BI при использовании данного куба. Для этого в столбце “Имя” выделите необходимую ячейку и введите новое название.

Изменение заголовка

Также необходимо проверить корректность указанного типа в столбце “Тип (в BI системе )”. В случае расстановки некорректного типа нажмите на указанный тип в столбце “Тип” и выберите в выпадающем списке корректный вариант.

Выбор типа данных

Столбик “Агрегационная функция” позволяет выбрать Фактом или Размерностью является то или иное поле, а также выбрать функции, которые к нему могут применяться.

Столбик агрегационная функция

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

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

Выбор поля как факта
к сведению

В случае, если у поля указан тип из списка “Размерности” (String, Period, Number) и выбраны агрегационные функции, то данное поле в конструкторе дэшей будет отображаться как в списке фактов, так и размерностей.

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

Переход в окно агрегационные функции
к сведению

Тип aggfn используется в случае, если для поля необходимо прописать дополнительный подзапрос.

В открывшемся окне можно ввести новую функцию и сохранить её, щёлкнув по кнопке “Добавить”.

Окно агрегационные функции

Удалить поле можно с помощью кнопки . Она расположена рядом с кнопкой перехода к агрегационной функции.

На этом этапе создания куба в него можно добавить столбец, который был в источнике, но не попал в куб. Такое может произойти, если тип столбца не был определён (например, данные в нём были в формате json), или если столбец был удалён в процессе работы над кубом. Чтобы перейти в соответствующее окно, кликните по кнопке “Добавить столбец”.

Кнопка “Добавить столбец”

В окне “Добавить столбец” выберите поле, которое хотите добавить.

Выбор поля для добавления столбца

Также можно изменить название, тип и агрегационную функцию поля.

Изменение поля в добавлении столбца

Добавить столбец можно не только из источника, но и написав SQL-выражение. Для этого нужно перейти во вкладку “Формула”. Ввести новую формулу, название и id поля для него, установить тип и агрегационную функцию.

Добавить столбец с помощью формулы
осторожно

Созданный с помощью SQL запрос нельзя использовать в расчётах, поскольку он не попадает в SQL-запрос куба.

Чтобы сохранить новый столбец в кубе, нужно нажать кнопку “Добавить”.

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

Переход к созданию куба

В открывшемся всплывающем окне:

  1. Введите Название и ID куба либо воспользуйтесь автоматически сгенерированным вариантом. Важно помнить, что после создания ID куба не может быть изменено.
  2. Выберите тип куба: глобальный или локальный. Если вы выбрали локальный куб, укажите, для какого атласа он будет использоваться.
  3. Нажмите кнопку “Сохранить”.
Сохранение куба

После сохранения куб будет представлен в таблице созданных кубов.

Редактирование куба

Для редактирования куба кликните на кнопку “Редактировать”.

Кнопка “Редактировать куб”

На экране отобразится окно редактирования созданного куба.

Окно редактирования куба

В блоке “Название и ID столбца” вы можете отредактировать заголовки для полей, как они будут отображаться в Luxms BI при использовании данного куба. Для этого дважды нажмите на необходимое для редактирования поле и введите новое название:

Редактирование заголовка поля

В случае необходимости указания подзапроса для конкретного поля введите необходимый запрос в поле SQL:

Редактирование SQL-подзапроса для конкретного поля в кубе

В поле config можно отредактировать конфиг куба. Для этого необходимо прописать в окне defaultValue: [<условие>,<значение>] (например defaultValue: ['=', 'Москва']). Каждое подобное выражение действует для отдельного столбца и позволяет определить фильтр, в соответствии с которым будут отображаться данные:

Редактирование конфигурации поля куба

Если столбец типа “Период”, то в поле конфиг появится третья кнопка “Календарь”. С ее помощью можно задать динамическое значение по умолчанию.

В блоке “Тип столбца” вы можете поменять тип для данного поля в Luxms BI:

Редактирование типа поля для куба

В случае необходимости вы можете подключить к кубу справочник. Подробнее об этом в подразделе “Справочник”.

Также указать или скрыть возможные агрегационные функции для построения данных:

Редактирование списка доступных агрегационных функций для поля куба

В случае необходимости удаления поля нажмите на . Цвет поля изменится на более тусклый.

Удаление поля из существующего куба

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

Для добавления нового поля в куб, нажмите .

Добавление столбца в куб

В открывшемся окне введите ID и название столбца, сохраните, кликнув по кнопке “Добавить”.

Создание нового поля в кубе

Заполните блоки, описанные выше, в разделе “Создание куба”.

Конфигурирование нового поля

Для редактирования названия куба введите новое название в поле “Название”.

Переименование куба

Редактирование SQL-запроса куба происходит в одноимённой вкладке “SQL”. Здесь можно, например, отфильтровать данные. Подробнее об этом рассказано в разделе Фильтрация данных в запросах.

Редактирование SQL-запроса куба

Редактирование конфигурации куба производится во вкладке “Config”.

Редактирование конфигурации куба

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

Клонирование куба

В Luxms BI есть возможность клонировать кубы. Для этого достаточно перейти во вкладку “Кубы” и кликнуть по кнопке клонировать.

Клонирование куба

В открывшемся окне можно выбрать название (1) и ID (2) будущего клонированного куба. Определить его тип (3): глобальный или локальный. Если выбран пункт “Локальный”, то в выпадающем списке снизу (4) необходимо выбрать нужное расположение куба. Для завершения процесса клонирования достаточно кликнуть по активировавшейся кнопке “Клонировать” (5) в нижнем правом углу окна.

Сохранение куба при клонировании

В результате клон куба появится ниже в списке. Название куба-клона будет начинаться со слова copy. Его можно будет редактировать независимо от первоначального куба.

982_куб_и_его_клон.png

Справочники

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

Справочник создаётся как отдельный куб. Потом его можно привязать к основному кубу с помощью добавления в config размерности объекта members.

Ниже представлен пример использования:

  "members": {
"default": {
"sort": [
"name"
],
"with": "luxmsbi.clear_custom_d_manufacturer_t",
"columns": [
"id_m:id",
"name:title"
],
"distinct": false
}
},

где

  • sort - сортировка по полям, перечисленным в массиве;
  • with - указания куба-справочника;
  • columns - указание соответствия id (id_m) показателя и наименования (name) в справочнике. Отметим, id и title - это фиксированные алиасы, которые используются для указания первичного ключа и значения, которое будет подставляться вместо него в итоговую таблицу;
  • distinct - выборка только из уникальных значений (true/false).

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

к сведению

Для подключения справочника вы также можете использовать поле для ввода SQL и подключить справочник через SQL-запрос

Фильтрация данных в запросах

Фильтрацию данных в запросах можно настроить несколькими способами.

1) Один фильтр добавляется с помощью следующей записи: ${filters(фильтр_1)}.

к сведению

Вместо “фильтр_1” в поле можно поставить, например, название поля, по которому необходимо фильтровать.

2) Добавить несколько фильтров можно двумя способами. Первая возможная конструкция выглядит так: ${filters(фильтр_1)} and ${filters(фильтр_2)}, а вторая - так: ${filters(фильтр_1,фильтр_2)}. Оба выражения взаимозаменяемы и имеют одинаковый результат.

3) В некоторых случаях бывает удобнее указать те фильтры, которые необходимо исключить из фильтрации. Для этого в SQL-запросе нужно указать ${filters(except(фильтр_1))}.

4) С помощью фильтров можно настроить даже доступ пользователей к запросу прямо внутри него. Для этого нужно воспользоваться следующей конструкцией ${access_filters()}. Отметим, что всю инфомацию о правах доступа пользователя конструкция получает из служебных таблиц, поэтому никаких дополнительных параметров указывать не требуется.

к сведению

В случае, если в конструкции {filters()} не указано параметров, права доступа подтягиваются автоматически.

Важно помнить, что для корректной работы фильтров необходимо в config куба указать поле{"is_template": 1}. Оно включает применение фильтров в запросе.

Ещё одно важное поле в config куба {"skip_where": 1}. Оно отключает вторичное применение фильтров поверх запроса (применяется в случае, если все необходимые фильтры уже были прописаны в SQL запросе). Это удобно, если в результате фильтрации из таблицы пропадают столбцы, по которым должна проходить фильтрация.