Міндет және алғышарттар
Әр сатылым түсімін есептеп, өңір бойынша қорытынды кесте дайындау.
Бұл мысал демонстрациялық деректер мен баптауларды қолданады. Өндірістік қабылдаушыларды қоспас бұрын күтілетін нәтижені өз ортаңызда тексеріңіз. Мына идентификаторлар: demo_* мысал ретінде берілген: редакторда өз оқу қосылымдарыңызды немесе дереккөздеріңізді таңдаңыз. Төмендегі JSON дайын тасымалдау архивін емес, блоктар мен байланыстар құрылымын көрсетеді.
Оқу кіріс деректері
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("Field name") қолданыңыз.
- Qty немесе Price өрісін топтау кілтіне қосу өңір қорытындысының орнына қосымша топтар жасайды.