Завдання та передумови
Обчислити виручку кожного продажу й підготувати підсумкову таблицю за регіонами.
Приклад містить навчальні дані та налаштування. Виберіть власні тестові джерела й підключення замість ідентифікаторів demo_*, відтворіть очікуваний результат і лише потім використовуйте робочі об’єкти.
Навчальні вхідні дані
sales.csv
Region;Qty;Price
North;2;10
North;3;5
South;4;7.5
Блоки, зв’язки й точні налаштування
Топологія прикладу 07: 4 блоки, 3 зв’язки. Збережено ідентифікатори вузлів і порти налаштованого графа.
Додайте наведені блоки в конструктор, відкрийте властивості кожного й установіть такі значення. Назви demo_* позначають навчальні джерела та підключення.
| Блок | Налаштування |
|---|---|
| 1 Файл src |
|
| 2 Розрахункові поля calc |
|
| 3 Групування group |
|
| 4 Вивантаження даних out |
|
Зв’язки портів
- src
out→ calcin - calc
out→ groupin - group
out→ outin
Повна конфігурація графа JSON
{
"version": 3,
"nodes": [
{
"id": "src",
"type": "file",
"label": "src",
"config": {
"role": "source",
"source_id": "demo_sales_calc",
"options": {
"sheet": "CSV",
"range": "A1:C4",
"header": true,
"delimiter": ";"
}
}
},
{
"id": "calc",
"type": "calculation",
"label": "calc",
"config": {
"fields": [
{
"name": "Revenue",
"expression": "round(number(field(\"Qty\")) * number(field(\"Price\")), 2)"
}
],
"decimal": "."
}
},
{
"id": "group",
"type": "group",
"label": "group",
"config": {
"keys": [
"Region"
],
"aggregates": [
{
"column": "Revenue",
"op": "sum",
"name": "RevenueTotal"
},
{
"column": "Revenue",
"op": "count",
"name": "Orders"
}
],
"decimal": "."
}
},
{
"id": "out",
"type": "export",
"label": "out",
"config": {
"format": "xlsx",
"filename": "regional_sales",
"destination": "download",
"delimiter": ";",
"timezone": "Europe/Kyiv"
}
}
],
"edges": [
{
"source": "src",
"target": "calc",
"source_port": "out",
"target_port": "in"
},
{
"source": "calc",
"target": "group",
"source_port": "out",
"target_port": "in"
},
{
"source": "group",
"target": "out",
"source_port": "out",
"target_port": "in"
}
]
}Очікуваний результат
| Region | RevenueTotal | Orders |
|---|---|---|
| North | 35 | 2 |
| South | 30 | 1 |
Розраховані значення Revenue до групування: 20, 15, 30. Загальна виручка — 65.
Запуск і перевірка
- Перевірте десятковий роздільник: для 7.5 використано decimal=".".
- Створіть обчислюване поле Revenue, потім групування за Region.
- Запустіть і звірте підсумки 35/30 та кількість 2/1; не порівнюйте лише загальну кількість рядків.
Типові помилки
- Формула не використовує довільний код: функції й операції мають бути з каталогу.
- Для назв з пробілами використовуйте field("Назва поля").
- Якщо додати Qty або Price до ключів групування, замість регіонального підсумку утворяться додаткові групи.