Чарт типа «Каскадная диаграмма»
Чарт «Каскадная диаграмма» (она же «Водопадная диаграмма», «waterfall chart» или просто «Водопад») в Yandex DataLens — это тип визуализации, который показывает последовательное изменение значения под влиянием различных факторов.
Каскадную диаграмму на сегодняшний день можно создать только в режиме платной версии DataLens Editor.
Первым шагом является подготовка данных, в данном случае, используем простую google-таблицу с двумя показателями.
Затем достаточно дать публичный доступ по ссылке, скопировать ссылку и можно переходить к созданию датасета (при необходимости, в самом DataLens можно поменять тип данных).

Переходим к созданию чарта-диаграммы. Для начала копируем ID датасета (его Вы потом будете использовать в DataLens Editor).

И создаем чарт в Editor на базе датасета.

Теперь выбираем График (Gravity UI Charts).

Далее для настройки используется программный код, который мы не будем подробно разбирать в данной статье.
// Модуль "Meta" { "links": { "kaskad": "//ID датасета//" } } Source // Подключаем библиотеку const {buildSource} = require('libs/dataset/v2'); //Формируем источник module.exports = { 'kaskadData': buildSource({ //Из какого датасет брать данные datasetId: Editor.getId('kaskad'), // Какие колонки columns: ['Month', 'Amount'], }), }; // Модуль "Prepare" //Подгружаем данные из датасета const Dataset = require('libs/dataset/v2'); const loadedData = Editor.getLoadedData(); const data = Dataset.processData(loadedData, 'kaskadData', Editor); console.log(data); //Подключаем библиотеку по работе с датами const { dateTimeParse } = require('@gravity-ui/date-utils'); //Сортируем колонку с датами по возрастанию data.sort((a, b) => { const dateA = dateTimeParse(a.Month); const dateB = dateTimeParse(b.Month); return dateA - dateB; }); console.log(data); //Задаем красивое отображение дат для оси Х const formattedDates = data.map(item => { const parsedDate = dateTimeParse(item.Month); return parsedDate.format('MMM YY'); }); console.log(formattedDates); //Строим диаграмму module.exports = { //Задаем поля и отступы chart: { margin: { left: 10, right: 10, top: 10, bottom: 10, } }, series: { //Задаем тип графика и распределение данных по осям data: [ { type: 'waterfall', data: data.map((item, index) => ({ y: item.Amount, x: index})), name: 'Разница', dataLabels: {enabled: true}, }, ], }, // Настраиваем подписи для оси Х xAxis: { type: 'category', categories: formattedDates, }, // Прочие настройки графика yAxis: [ { ticks: { pixelInterval: 120, }, }, ], };
При необходимости можно проверить работу готовой диаграммы, для этого можно добавить новые значения в источник данных (в нашем случае, это Google-таблица) и обновить диаграмму. Диаграмма выглядит следующим образом:

Такая диаграмма будет автоматически обновляться при изменении данных в датасете. Каскадная диаграмма — это мощный инструмент для анализа и визуализации данных в реальном времени.