Завдання та передумови

Розгорнути місяці бюджетного Excel та записати чотири значення в навчальний куб із явним мапінгом усіх вимірів.

Приклад містить навчальні дані та налаштування. Виберіть власні тестові джерела й підключення замість ідентифікаторів demo_*, відтворіть очікуваний результат і лише потім використовуйте робочі об’єкти.

Навчальні вхідні дані

ProductJanFeb
Tea100120
Coffee8090

Блоки, зв’язки й точні налаштування

Пояснювальна схемаЗбільшити ↗17. IBM Planning Analytics: бюджет з Excel у куб. Топологія прикладу 17: 3 блоки, 2 зв’язки. Збережено ідентифікатори вузлів і порти налаштованого графа.
Схема потоку 17

Топологія прикладу 17: 3 блоки, 2 зв’язки. Збережено ідентифікатори вузлів і порти налаштованого графа.

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

БлокНалаштування
1
Файл
src
  • Роль: source
  • Джерело: demo_pa_budget
  • Параметри читання:
    • Аркуш: Budget
    • Діапазон: A1:C3
    • Перший рядок — заголовок: так
2
Розгортання колонок (Unpivot)
unpivot
  • Ключові колонки: Product
  • Колонка періоду: Month
  • Колонка значення: Amount
3
Підключення
pa
  • Роль: target
  • Підключення: demo_pa
  • Тип об’єкта: cube
  • Куб: DemoBudget
  • Дія отримувача: write
  • Зіставлення:
    • Виміри:
        • Вимір: Year
        • Ієрархія: Year
        • Тип: constant
        • Значення: 2026
        • Вимір: Month
        • Ієрархія: Month
        • Тип: column
        • Значення: Month
        • Вимір: Product
        • Ієрархія: Product
        • Тип: column
        • Значення: Product
        • Вимір: Scenario
        • Ієрархія: Scenario
        • Тип: constant
        • Значення: Budget
        • Вимір: Measure
        • Ієрархія: Measure
        • Тип: constant
        • Значення: Revenue
    • Поле значення: Amount
    • Тип значення: number
    • Десятковий роздільник: .
    • Порожнє значення: error
    • Повторні координати: error
    • Розмір порції: 10000
  • Запис у куб:
    • Режим: replace

Зв’язки портів

  • src out → unpivot in
  • unpivot out → pa in
Повна конфігурація графа JSON
{
  "version": 3,
  "nodes": [
    {
      "id": "src",
      "type": "file",
      "label": "src",
      "config": {
        "role": "source",
        "source_id": "demo_pa_budget",
        "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": "pa",
      "type": "connection",
      "label": "pa",
      "config": {
        "role": "target",
        "connection_id": "demo_pa",
        "object_type": "cube",
        "cube": "DemoBudget",
        "target_mode": "write",
        "mapping": {
          "bindings": [
            {
              "dimension": "Year",
              "hierarchy": "Year",
              "kind": "constant",
              "value": "2026"
            },
            {
              "dimension": "Month",
              "hierarchy": "Month",
              "kind": "column",
              "value": "Month"
            },
            {
              "dimension": "Product",
              "hierarchy": "Product",
              "kind": "column",
              "value": "Product"
            },
            {
              "dimension": "Scenario",
              "hierarchy": "Scenario",
              "kind": "constant",
              "value": "Budget"
            },
            {
              "dimension": "Measure",
              "hierarchy": "Measure",
              "kind": "constant",
              "value": "Revenue"
            }
          ],
          "value_column": "Amount",
          "value_type": "number",
          "decimal": ".",
          "blank": "error",
          "duplicates": "error",
          "portion_cells": 10000,
          "response_seconds": 120
        },
        "cube_write": {
          "mode": "replace"
        }
      }
    }
  ],
  "edges": [
    {
      "source": "src",
      "target": "unpivot",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "unpivot",
      "target": "pa",
      "source_port": "out",
      "target_port": "in"
    }
  ]
}

Очікуваний результат

YearMonthProductScenarioMeasureValue
2026JanTeaBudgetRevenue100
2026FebTeaBudgetRevenue120
2026JanCoffeeBudgetRevenue80
2026FebCoffeeBudgetRevenue90

Чотири клітинки отримують значення 100, 120, 80, 90. Replace замінює значення саме цих клітинок. Попереднє очищення куба не увімкнено.

Запуск і перевірка

  1. У навчальному кубі DemoBudget створіть виміри Year, Month, Product, Scenario, Measure та наведені елементи; використайте листові елементи, доступні для запису.
  2. Завантажте Excel, виконайте попередню перевірку мапінгу: 4 координати, жодного невідомого елемента або дубля.
  3. Запустіть запис у навчальний куб; перевірте клітинки в IBM PA та суму 390.
  4. Повторіть потік з тими самими даними: replace має зберегти ті самі значення, а не подвоїти бюджет.

Типові помилки

  • Якщо куб має додатковий вимір, його також потрібно зіставити.
  • Назви Month/Jan/Feb і Product/Tea/Coffee мають відповідати реальним елементам або таблицям відповідностей.
  • mode=add додає до поточних клітинок і при повторі може подвоїти значення; тут явно вибрано replace.
  • З duplicates=error повторна координата має бути виправлена або свідомо агрегована до запису.