Диаграмма Ганта
Диаграмма Ганта - дэш, используемый для планирования проектов или состояния отображения ресурсов (например, оборудования или сотрудников) в течение определенного периода времени.
Данный дэш не представлен в коробке 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-функции:
- start - рассчитывает дату начала выполнения задачи
- end - рассчитывает дату окончания выполнения задачи
таким образом, в представленном ниже примере, столбцы с фактическими датами выполнения работы окрашиваются в красный цвет, если выполнено позже планового выполнения задачи, в зеленый, если выполнено в срок:
lpe:if(end("План") < end("Факт"), "#e01e37", "#8ac926")
После сохранения условия (нажать на галочку в правом нижнем углу поля ввода выражения) и сохранения дэша, диаграмма Ганта будет выглядеть следующим образом: