Міндет және алғышарттар

Ағынды өңдемей, пайдаланушыға өңір мен ең төменгі соманы таңдауға мүмкіндік беру.

Бұл мысал демонстрациялық деректер мен баптауларды қолданады. Өндірістік қабылдаушыларды қоспас бұрын күтілетін нәтижені өз ортаңызда тексеріңіз. Мына идентификаторлар: demo_* мысал ретінде берілген: редакторда өз оқу қосылымдарыңызды немесе дереккөздеріңізді таңдаңыз. Төмендегі JSON дайын тасымалдау архивін емес, блоктар мен байланыстар құрылымын көрсетеді.

Оқу кіріс деректері

sales.csv

Order;Region;Amount
O1;North;1200
O2;North;400
O3;South;900

Блоктар, байланыстар және нақты баптаулар

Түсіндірме схемаҮлкейту ↗12. Іске қосу параметрімен сүзу. Мысал құрылымы: 5 блок, 4 байланыс. Түйін идентификаторлары мен порттары сақталған.
12-ағын схемасы

12-мысал құрылымы: 5 блок, 4 байланыс. Бапталған графтың түйін идентификаторлары мен порттары сақталған.

Конструкторға көрсетілген блоктарды қосып, әрқайсының қасиеттерін ашыңыз және осы мәндерді орнатыңыз. Мына атаулар: demo_* оқу дереккөздері мен қосылымдарын анықтайды.

БлокБаптау
1
Файл
src
  • Рөл: source
  • Дереккөз: demo_param_sales
  • Оқу баптаулары:
    • Парақ: CSV
    • Ауқым: A1:C4
    • Алғашқы жол — тақырып: так
    • Бөлгіш: ;
2
Іске қосу параметрлері
params
  • wizard: так
  • Тақырып: Відбір продажів
  • Өрістер:
      • Атау: SelectedRegion
      • Белгі: Регіон
      • Түрі: text
      • Міндетті: так
      • Мәні: North
      • Атау: MinAmount
      • Белгі: Мінімальна сума
      • Түрі: number
      • Міндетті: так
      • Мәні: 500
3
Сүзу
filter
  • Режим: all
  • Таңдау шарттары:
      • column: Region
      • Пайдалану: eq
      • value_mode: parameter
      • Параметр блогы: params
      • Параметр: SelectedRegion
      • column: Amount
      • Пайдалану: gte
      • Сандық салыстыру: так
      • value_mode: parameter
      • Параметр блогы: params
      • Параметр: MinAmount
4
Бағандарды сәйкестендіру
map
  • Режим: columns
  • Бағандар:
      • Атау: Order
      • Мәні: Order
      • Атау: Region
      • Мәні: Region
      • Атау: Amount
      • Мәні: Amount
5
Деректер экспорты
out
  • Пішім: csv
  • Файл атауы: selected_sales
  • Мақсаты: download
  • Бөлгіш: ;
  • Уақыт белдеуі: Europe/Kyiv

Порт байланыстары

  • src out → params in
  • params out → filter in
  • filter out → map in
  • map out → out in
JSON түріндегі толық граф конфигурациясы
{
  "version": 3,
  "nodes": [
    {
      "id": "src",
      "type": "file",
      "label": "src",
      "config": {
        "role": "source",
        "source_id": "demo_param_sales",
        "options": {
          "sheet": "CSV",
          "range": "A1:C4",
          "header": true,
          "delimiter": ";"
        }
      }
    },
    {
      "id": "params",
      "type": "parameters",
      "label": "params",
      "config": {
        "wizard": true,
        "title": "Відбір продажів",
        "fields": [
          {
            "name": "SelectedRegion",
            "label": "Регіон",
            "kind": "text",
            "required": true,
            "value": "North"
          },
          {
            "name": "MinAmount",
            "label": "Мінімальна сума",
            "kind": "number",
            "required": true,
            "value": 500
          }
        ]
      }
    },
    {
      "id": "filter",
      "type": "filter",
      "label": "filter",
      "config": {
        "mode": "all",
        "predicates": [
          {
            "column": "Region",
            "op": "eq",
            "value_mode": "parameter",
            "parameter_block": "params",
            "parameter": "SelectedRegion"
          },
          {
            "column": "Amount",
            "op": "gte",
            "numeric": true,
            "value_mode": "parameter",
            "parameter_block": "params",
            "parameter": "MinAmount"
          }
        ]
      }
    },
    {
      "id": "map",
      "type": "mapping",
      "label": "map",
      "config": {
        "mode": "columns",
        "columns": [
          {
            "name": "Order",
            "value": "Order"
          },
          {
            "name": "Region",
            "value": "Region"
          },
          {
            "name": "Amount",
            "value": "Amount"
          }
        ]
      }
    },
    {
      "id": "out",
      "type": "export",
      "label": "out",
      "config": {
        "format": "csv",
        "filename": "selected_sales",
        "destination": "download",
        "delimiter": ";",
        "timezone": "Europe/Kyiv"
      }
    }
  ],
  "edges": [
    {
      "source": "src",
      "target": "params",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "params",
      "target": "filter",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "filter",
      "target": "map",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "map",
      "target": "out",
      "source_port": "out",
      "target_port": "in"
    }
  ]
}

Күтілетін нәтиже

SelectedRegion=North және MinAmount=500 болса, тек O1=1200 қайтады. SelectedRegion=South және MinAmount=500 болса, тек O3=900 қайтады.

Іске қосу және тексеру

  1. Ағынды сақтаңыз; параметрлер сол белсенді тармақта сүзгіден бұрын болуы керек. Сүзуден кейін сәйкестендіру тек Order, Region және Amount қалдырады.
  2. Интерактивті орындап, North пен 500 қалдырыңыз және O1 тексеріңіз.
  3. South мәнімен қайта орындаңыз; графты өзгертпей O3 алыңыз.

Жиі қателер

  • parameter_block=params көрсетіңіз: өріс атауының өзі бастапқы блокты анықтамайды.
  • mode=any тек бір шартқа сай жолдарды да өткізеді.
  • Параметрді Region деп атамаңыз, себебі ол баған дереккөзде бар: параметр блогы өз бағандарын қосады. Сондықтан SelectedRegion қолданылған.