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

Термины:
- Узел – уникальный измеримый объект на диаграмме, одно звено в цепи из потоков. Накапливает значения входных потоков и преобразует их в выходные
- Поток (связь) – движение любой сущности (денег, информации и т.п.) между узлами
- Источник – узел, из которого выходит поток
- Цель – узел, в который входит поток
- Уровень – набор узлов, расположенных на одной вертикальной (при движении потоков "слева-направо") или горизонтальной (при движении потоков "сверху-вниз") линии.
Диаграмма начинается с 0 уровня – набора узлов, не имеющих входящих потоков. Последним уровнем считается набор узлов, не имеющих выходящих потоков. Уровень промежуточных узлов определяется максимальным количеством предыдущих для них уровней.
Пример: если в узел входит поток и из 0 уровня, и из 3 уровня, то его уровень равен 4
Правила формирования визуализации в системе из разрезов и показателей:
- Каждый последующий разрез полностью состоит из целей для потоков из предыдущего разреза
- Число разрезов неограниченно, но для корректного отображения рекомендуется использовать от 2 до 5 уровней (отображение зависит от размеров визуализации и размеров экрана пользователя)
- Число уровней >= Число разрезов (зависит от структуры данных)
- В диаграмме используется не более одного показателя, формирующего значения для всех узлов и потоков
- Запрещены циклические потоки: поток не может иметь целью узел, являющийся источником узла (или одного из источников этого узла), из которого выходит этот поток. На уровне данных это значит, что ни в одной строке данных не должно быть двух и более повторяющихся названий узлов.
Далее будет пример набора данных, образующих цикл - Значение узла равно наибольшей из двух сумм значений: входящих или выходящих потоков (эти значения не обязательно должны совпадать)
Вкладка «Данные»
Кроме стандартных секций для данной визуализаций предусмотрены следующие:
Повернуть на 90°
Визуализацию можно повернуть на 90° – изменить направление потоков с горизонтального на вертикальное и наоборот

Стоит учитывать, что при развороте сохранятся все настройки, установленные для предыдущего состояния

Изменения настроек коснулись следующих секций:
Разрезы
В режиме виртуальных данных (выключен переключатель "Реальные данные")
Для визуализации предусмотрена возможность ручного ввода источников и целей с помощью всплывающего окна. Открыть это окно можно прямо из секции разрезов нажатием на кнопку:

При этом предоставляется возможность вручную записать все источники и цели, чтобы сформировать структуру визуализации. При этом необходимо руководствоваться следующими правилами:
-
Каждой позиции в столбце "Источник" должна соответствовать позиция в столбце "Цель". Это значит, что количество позиций в обоих столбцах должно совпадать.
Неправильная структура:

Правильная структура:

-
Ни один набор источников и целей не должен формировать цикла – поток не может прийти в источник, из которого берёт свой начало.
Например, ошибочной будет следующая структура:
Корректно, когда последняя цель в любой цепочке потоков не является источником для существующего потока:
В окно ввода данных можно вставлять значения из колонок любых таблиц (например, из Excel) – просто скопируйте набор данных и вставьте его в поле "Источник" или "Цель"
В режиме реальных данных:
Можно добавлять любое количество разрезов. Принципиально важен их порядок – значения из последующего разреза будут восприниматься системой как цели для потоков из текущего разреза.
Необходимо и достаточно указать хотя бы 2 разреза для формирования потока – иначе диаграмма не сформируется.
Показатели
Для данной диаграммы можно указать только один показатель – параметр, определяющий мощность потока, проходящего через все узлы, заданные разрезами.
В режиме виртуальных данных для каждого потока генерируется значение показателя в указанном интервале (по умолчанию от 0 до 500).

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

Всплывающее окно состоит из 3 секций:
-
Значения на узлах – в этой секции определяется, какой набор информации и в каком виде отображать на узлах визуализации. Можно настроить:
- Формат – показывать только названия узлов, только значения на них или и то, и другое (в таком случае можно указать, требуется ли разделять название и значение на 2 разных строки)
- Расположение – для корректного отображения меток на узлах можно в отдельности регулировать их расположение на первом, последнем и промежуточном узлах
- Ориентация – как и сама диаграмма, значения могут быть повёрнуты на 90°
- Длина подписи – может регулироваться вручную обрезанием надписи после указанного числа символов
- Свойства текста – стандартные настройки

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

-
Форматирование значений – стандартные настройки
Вкладка «Вид»
Кроме стандартных секций для данной визуализаций предусмотрены следующие:
Оформление точек данных
Для визуализации можно задать цветовое оформление согласно одной из следующих стратегий:
- Для всей визуализации целиком – определяется ровно 1 цвет, в который будут окрашены все узлы и все связи. Тем не менее, можно задать непрозрачность связи в процентах от цвета узла
- Для уровней по отдельности – определяется группа цветов, которая последовательно будет применена ко всем узлам на каждом из уровней. При этом можно сопоставить цвет потока с цветом источника, цели, или окрасить связь градиентной заливкой между цветами источника и цели

Свойства текста на этой вкладке определяются сразу и для текста на узлах, и для текста на связях. Они будут применены только в том случае, если не используются отдельные настройки в всплывающем окне настроек показателя.
Параметры узлов
На этой секции можно задать ширину (или высоту, если диаграмма повернута на 90°) узлов в пикселях, а также зазор между ними. Зазор определяет первоначальное расстояние между узлами одного уровня, если их больше одного.

Перетаскивать узлы

Позволяет пользователю перемещать узлы на диаграмме с помощью курсора. У этой настройки есть ряд ограничений:
- У области размещения потоков нет границ, а это значит, что можно отправить узел "out of bounds" без возможности вернуть его без обновления состояния проекта

- Для перетаскивания узлов в режиме разработки необходимо блокировать перемещение визуализации – контейнер двигается вместе с узлами, что создаёт некоторые сложности.
- Любое изменение настроек, обновление страницы, переход в другую область проекта будут сбрасывать состояние визуализации в первоначальное и возвращать узлы в ту позицию, в которой их изначально разместила система. Сохранить положение узлов после перетаскивания нельзя.
Вкладка «События»
С помощью данной визуализации нельзя выполнять фильтрацию или вызывать переходы по ссылкам. Из имеющегося функционала доступно только взаимодействие с триггерами (стандартные секции "Управление триггерами" и "Управление видимостью"), а также реакция на применяемые в проекте фильтры.