Задача и предварительные условия
Подготовьте широкий бюджетный шаблон Excel для загрузки в модель с измерением периода.
В примере используются демонстрационные данные и настройки. Проверьте ожидаемый результат в своей среде до подключения рабочих получателей. Идентификаторы demo_* условны: выберите собственные учебные подключения или источники в редакторе. JSON ниже показывает структуру блоков и связей, а не готовый архив потока для переноса.
Учебные входные данные
| Продукт | Jan | Feb |
|---|---|---|
| Tea | 100 | 120 |
| Coffee | 80 | 90 |
Блоки, связи и точные настройки
Схема примера 02: блоков — 3, связей — 2. Идентификаторы узлов и порты настроенной схемы сохранены.
Добавьте перечисленные блоки в конструкторе, откройте свойства каждого и задайте эти значения. Имена demo_* обозначают учебные источники и подключения.
| Блок | Настройка |
|---|---|
| 1 Файл src |
|
| 2 Разворот столбцов в строки unpivot |
|
| 3 Экспорт данных out |
|
Связи портов
- src
out→ unpivotin - unpivot
out→ outin
Полная конфигурация схемы в JSON
{
"version": 3,
"nodes": [
{
"id": "src",
"type": "file",
"label": "src",
"config": {
"role": "source",
"source_id": "demo_budget_xlsx",
"options": {
"sheet": "Budget",
"range": "A1:C3",
"header": true
}
}
},
{
"id": "unpivot",
"type": "unpivot",
"label": "unpivot",
"config": {
"id_columns": [
"Product"
],
"period_column": "Month",
"unpivot_value_column": "Amount"
}
},
{
"id": "out",
"type": "export",
"label": "out",
"config": {
"format": "xlsx",
"filename": "budget_long",
"destination": "download",
"delimiter": ";",
"timezone": "Europe/Kyiv"
}
}
],
"edges": [
{
"source": "src",
"target": "unpivot",
"source_port": "out",
"target_port": "in"
},
{
"source": "unpivot",
"target": "out",
"source_port": "out",
"target_port": "in"
}
]
}Ожидаемый результат
| Продукт | Month | Amount |
|---|---|---|
| Tea | Jan | 100 |
| Tea | Feb | 120 |
| Coffee | Jan | 80 |
| Coffee | Feb | 90 |
Выход содержит 4 строки; сумма Amount — 390. Каждый столбец, кроме Product, становится значением Month.
Запуск и проверка
- Создайте budget.xlsx с листом Budget и показанной таблицей в A1:C3.
- Задайте Product единственным столбцом-идентификатором; Month и Amount должны быть новыми именами.
- Запустите поток и проверьте budget_long.xlsx: 4 строки и сумма 390.
Частые ошибки
- Если случайно добавить Jan в id_columns, этот месяц не будет развёрнут.
- Вспомогательный столбец Comment тоже становится периодом, если не удалить его до разворота.
- Имена Month/Amount должны различаться между собой и с Product.