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

Диаграмма Ганта

Диаграмма Ганта - дэш, используемый для планирования проектов или состояния отображения ресурсов (например, оборудования или сотрудников) в течение определенного периода времени.

Диаграмма Ганта
осторожно

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

Подготовка данных

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

- Дата начала выполнения задачи
- Дата окончания выполнения задачи
- Размерность для разбивки данных (номер задачи, ФИО сотрудника, название отдела и т.д.)

Все последующие размерности могут использоваться только для реализации иерархии.

Настройка дэша

После создания куба перейдите на дэшборд, в котором необходимо создать диаграмму, и создайте дэш “Диаграмма Ганта”:

Создание дэша “Диаграмма ганта”

В конструкторе дэша в блоке Факты необходимо выбрать минимальную дату начала выполнения задачи и максимальную дату окончания. В блоке Размерности необходимо выбрать размерности для разбивки данных:

Данные для Диаграммы Ганта

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

Настройка отображения данных на диаграмме ганта
к сведению

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

При включении опции Показать кнопку поиска в верхнем левом углу дэша будет отображена кнопка Опции метрик при нажатии на которую можно фильтровать показатели внутри дэша:

Опции метрик

Логика работы остальных опций описана здесь.

Логикой работы блоков Отображение и Обработка событий можно ознакомиться в расширенном руководстве пользователя.

Книга рецептов

Отображение ответственного в тултипе

Для того, чтобы отобразить ответственного в тултипе столбца, необходимо добавить размерность с ФИО сотрудника в блок Размерности, перейти в режим редактирования JSON-конфигурации, в блоке style указать isHidden: true для данного столбца и в блоке display указать поле tooltip с LPE-выражением, содержащим название столбца:

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

Ниже представлена JSON-конфигурация данного дэша:

{
frame: {
h: 6,
w: 12,
x: 0,
y: 0,
},
display: {
tooltip: 'lpe:actor',
},
dataSource: {
koob: 'gantt_hierarchy.gantt_hierarchy',
style: {
actor: {
isHidden: true,
},
},
xAxis: 'department;task;actor',
yAxis: 'measures;type',
measures: [
'min(start):min_start',
'max("end"):max_end',
],
subtotals: 'department;task',
dimensions: [
'department',
'task',
'actor',
'type',
],
},
view_class: 'gantt',
title: 'Диаграмма Ганта',
}

где actor - название столбца с именами ответственных за выпонления задачи.

Покраска столбцов в зависимости от данных

Для покраски столбца в зависимости от выполнения/не выполнения задачи в срок необходим дополнительный столбец для указания типа столбца (например план или факт). Данный столбец добавляется в блок Размерности и откладывается на оси Цвета первым в списке:

Добавление размерности тип

Далее необходимо открыть окно стилизации данной размерности (1), выбрать необходимый показатель для покраски, открыть в нем блок Цвет (2), переключиться на режим ввода LPE-выражения (3) и ввести условие для покраски столбцов:

Установка покраски по условию

Для диаграммы Ганта реализованы две LPE-функции:

  1. start - рассчитывает дату начала выполнения задачи
  2. end - рассчитывает дату окончания выполнения задачи

таким образом, в представленном ниже примере, столбцы с фактическими датами выполнения работы окрашиваются в красный цвет, если выполнено позже планового выполнения задачи, в зеленый, если выполнено в срок:

lpe:if(end("План") < end("Факт"), "#e01e37", "#8ac926")

После сохранения условия (нажать на галочку в правом нижнем углу поля ввода выражения) и сохранения дэша, диаграмма Ганта будет выглядеть следующим образом:

Покраска диаграммы ганта по условию