Задача и предварительные условия

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

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

Учебные входные данные

ПродуктJanFeb
Tea100120
Coffee8090

Блоки, связи и точные настройки

Поясняющая схемаУвеличить ↗02. Excel: месяцы из столбцов в строки. Схема примера 02: 3 блока, 2 связи. Идентификаторы узлов и порты настроенной схемы сохранены.
Схема потока 02

Схема примера 02: блоков — 3, связей — 2. Идентификаторы узлов и порты настроенной схемы сохранены.

Добавьте перечисленные блоки в конструкторе, откройте свойства каждого и задайте эти значения. Имена demo_* обозначают учебные источники и подключения.

БлокНастройка
1
Файл
src
  • Роль: source
  • Источник: demo_budget_xlsx
  • Настройки чтения:
    • Лист: Budget
    • Диапазон: A1:C3
    • Первая строка — заголовок: так
2
Разворот столбцов в строки
unpivot
  • Ключевые столбцы: Product
  • Столбец периода: Month
  • Столбец значения: Amount
3
Экспорт данных
out
  • Формат: xlsx
  • Имя файла: budget_long
  • Назначение: download
  • Разделитель: ;
  • Часовой пояс: Europe/Kyiv

Связи портов

  • src out → unpivot in
  • unpivot out → out in
Полная конфигурация схемы в 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"
    }
  ]
}

Ожидаемый результат

ПродуктMonthAmount
TeaJan100
TeaFeb120
CoffeeJan80
CoffeeFeb90

Выход содержит 4 строки; сумма Amount — 390. Каждый столбец, кроме Product, становится значением Month.

Запуск и проверка

  1. Создайте budget.xlsx с листом Budget и показанной таблицей в A1:C3.
  2. Задайте Product единственным столбцом-идентификатором; Month и Amount должны быть новыми именами.
  3. Запустите поток и проверьте budget_long.xlsx: 4 строки и сумма 390.

Частые ошибки

  • Если случайно добавить Jan в id_columns, этот месяц не будет развёрнут.
  • Вспомогательный столбец Comment тоже становится периодом, если не удалить его до разворота.
  • Имена Month/Amount должны различаться между собой и с Product.