If-Else Node (3)

If-Else Node ใช้สำหรับตรวจสอบข้อมูลตามเงื่อนไขที่กำหนด และแยกการทำงานตามผลลัพธ์ โดยหากผลลัพธ์เป็นจริง (True) ข้อมูลจะถูกส่งไปยังขั้นตอนการทำงานหนึ่ง แต่หากผลลัพธ์เป็นเท็จ (False) ข้อมูลจะถูกส่งไปยังอีกขั้นตอนการทำงานหนึ่ง

ตัวอย่างการใช้งาน

  • แยกธุรกรรมเป็น “ผ่าน” หรือ “ไม่ผ่าน”
  • กำหนดผลการพิจารณาเป็น “อนุมัติ” หรือ “ปฏิเสธ”
  • คัดกรองข้อมูลเป็น “ตรงเงื่อนไข” หรือ “ไม่ตรงเงื่อนไข”

รูปแบบการกำหนดเงื่อนไข

If-Else Node รองรับการกำหนดเงื่อนไขเพื่อใช้ในการตัดสินใจแยกการทำงานของ Rule Graph โดยสามารถกำหนดเงื่อนไขได้ตั้งแต่รูปแบบพื้นฐานไปจนถึงเงื่อนไขที่ซับซ้อน

องค์ประกอบของเงื่อนไข

เงื่อนไขใน If-Else Node ประกอบด้วยองค์ประกอบหลัก ดังนี้

  • Field – ฟิลด์ข้อมูลที่ต้องการนำมาตรวจสอบ
  • Operator – ตัวดำเนินการเปรียบเทียบข้อมูล เช่น เท่ากับ มากกว่า หรือน้อยกว่า
  • Operand – ค่าที่ใช้ในการเปรียบเทียบ ซึ่งสามารถเป็นค่าคงที่ (Constant) หรือค่าจากฟิลด์ข้อมูลอื่น (Field)

ตัวอย่าง:
age > 60
status = “Approved”
score >= minimum_score

เงื่อนไขแบบ Simple

เป็นเงื่อนไขแบบเดี่ยวที่ใช้ตรวจสอบข้อมูลเพียงหนึ่งเงื่อนไข

ตัวอย่าง:
age > 60
amount >= 1000
status = “Approved”

เงื่อนไขแบบ Compound

เป็นการเชื่อมหลายเงื่อนไขเข้าด้วยกันโดยใช้ AND หรือ OR

  • AND – ทุกเงื่อนไขต้องเป็นจริง
  • OR – อย่างน้อยหนึ่งเงื่อนไขต้องเป็นจริง

ตัวอย่าง:
age > 60 AND province = “Chiang Mai”
score >= 80 OR member_type = “VIP”

เงื่อนไขแบบ Nested

เป็นการกำหนดลำดับการประเมินผลของเงื่อนไข เพื่อช่วยให้เงื่อนไขที่ซับซ้อนสามารถอ่านและจัดการได้ง่ายขึ้น

ตัวอย่าง:
(age > 60 AND province = “Chiang Mai”) OR (status = “VIP”)
(score >= 80 OR member_type = “Gold”) AND (status = “Active”)
(order_status = “delivered” AND (payment_method=”Credit Card” AND net_amount > 3000))

การจัดกลุ่มเงื่อนไข (Grouping)

ผู้ใช้งานสามารถจัดกลุ่มเงื่อนไขเป็นหลายกลุ่ม เพื่อให้กำหนดและจัดการเงื่อนไขได้ง่ายและชัดเจนมากยิ่งขึ้น

ตัวอย่างกลุ่มเงื่อนไขเช่น
กลุ่ม 1: payment_method == “Cash” AND net_amount < 3000
กลุ่ม 2: payment_method == “E-Wallet” AND net_amount < 10000

สามารถกำหนดเงื่อนไขและเชื่อมเงื่อนไขทั้งสองกลุ่มด้วย AND หรือ OR ได้ดังนี้
(payment_method == “Cash” AND net_amount < 3000) OR (payment_method == “E-Wallet” AND net_amount < 10000)

ขั้นตอนการใช้งาน

  1. เพิ่ม If-Else Node ลงในพื้นที่สร้างกฎ (Rule Graph)
  2. เชื่อมต่อ Input จาก Node ต้นทางมายัง If-Else Node
  3. กำหนดเงื่อนไขสำหรับตรวจสอบข้อมูลภายใน If-Else Node
  4. เชื่อมต่อ Output ฝั่ง True ไปยัง Node ที่ต้องการให้ทำงานเมื่อเงื่อนไขเป็นจริง
  5. เชื่อมต่อ Output ฝั่ง False ไปยัง Node ที่ต้องการให้ทำงานเมื่อเงื่อนไขเป็นเท็จ

ขั้นตอนการกำหนดเงื่อนไขแบบ Simple

Step 1

ดับเบิลคลิกที่ If-Else Node เพื่อเข้าสู่หน้ากำหนดเงื่อนไข โดยระบบจะแสดง Dialog สำหรับตั้งค่าเงื่อนไขการตรวจสอบข้อมูล

Step 2

เลือกประเภทของข้อมูลที่ต้องการกำหนดเงื่อนไข

ข้อมูล Primitive และ Collective จะมีวิธีการกำหนดเงื่อนไขและผลลลัพธ์ที่แตกต่างกันดังนี้

  • Add Primitive – ใช้สำหรับกำหนดเงื่อนไขกับข้อมูลอินพุตแบบค่าเดี่ยวหรือ Primitive (เช่น number, string, boolean) โดยสามารถเปรียบเทียบค่าได้โดยตรง เช่น =, >, <, IN เป็นต้น โดยผลลัพธ์ในการตรวจสอบเงื่อนไขจะเป็น True/False
  • Add Collective – ใใช้สำหรับกำหนดเงื่อนไขกับข้อมูลย่อยภายในข้อมูลแบบกลุ่ม (Collective) โดยเริ่มจากเลือกฟิลด์ที่เป็น Collective ก่อน แล้วจึงเลือกฟิลด์ข้อมูลย่อยเพื่อตรวจสอบเงื่อนไข หากมีอย่างน้อย 1 รายการที่ตรงเงื่อนไข ผลลัพธ์จะเป็น True และหากไม่มีเลยจะเป็น False

Step 3

เลือกฟิลด์ข้อมูลที่ต้องการนำมาใช้ในการกำหนดเงื่อนไข โดยระบบจะแสดงรายการฟิลด์ข้อมูลที่สามารถเลือกใช้งานได้

Step 4

เลือก Operator (ตัวดำเนินการเปรียบเทียบข้อมูล) สำหรับใช้ในการเปรียบเทียบข้อมูล โดยระบบจะแสดง Operator ที่สอดคล้องกับประเภทของฟิลด์ข้อมูลที่เลือกไว้

Step 5

เลือก Operand (ค่าที่ใช้ในการเปรียบเทียบข้อมูล) โดยผู้ใช้งานสามารถเลือกได้ 2 รูปแบบ ดังนี้

  • Field – ใช้เลือกค่าจากฟิลด์ข้อมูลอินพุตเพื่อนำมาเปรียบเทียบ
  • Constant – ใช้กำหนดค่าคงที่สำหรับนำมาเปรียบเทียบ โดยสามารถเลือกประเภทข้อมูลและระบุค่าให้สอดคล้องกับฟิลด์ข้อมูลที่เลือกไว้

Step 6

ตรวจสอบความถูกต้องของเงื่อนไขทั้งหมด และกดบันทึกเพื่อยืนยันการตั้งค่า

ขั้นตอนการกำหนดเงื่อนไขแบบ Compound

ตัวอย่างต่อไปนี้แสดงการสร้างเงื่อนไขแบบ Compound ภายใน If-Else Node โดยใช้ตัวเชื่อม AND หรือ OR เพื่อเชื่อมหลายเงื่อนไขเข้าด้วยกัน

ตัวอย่าง:

payment_method=”Credit Card” AND net_amount > 3000

Step 1

กำหนดเงื่อนไขแรกตามขั้นตอนการกำหนดเงื่อนไขแบบ Simple (Step 1 และ 2)

Step 2

กดเพิ่มเงื่อนไข (Add Condition) เพื่อสร้างเงื่อนไขถัดไป

Step 3

เลือกตัวเชื่อมเงื่อนไข ได้แก่ AND หรือ OR

Step 4

กำหนด Field, Operator และ Operand ของเงื่อนไขเพิ่มเติมตามต้องการ

Step 5

ตรวจสอบความถูกต้องของเงื่อนไขทั้งหมด และกดบันทึกเพื่อยืนยันการตั้งค่า

ขั้นตอนการกำหนดเงื่อนไขแบบ Nested

ตัวอย่างต่อไปนี้แสดงการสร้างเงื่อนไขแบบ Nested ภายใน If-Else Node โดยใช้ตัวเชื่อม AND หรือ OR เพื่อเชื่อมหลายเงื่อนไขเข้าด้วยกัน

ตัวอย่าง:

order_status = “delivered” AND (payment_method=”Credit Card” AND net_amount > 3000)

Step 1

กำหนดเงื่อนไขแรกตามขั้นตอนการกำหนดเงื่อนไขแบบ Simple ใน Step 1 และ 2

Step 2

กดเพิ่มเงื่อนไข (Add Condition) เพื่อสร้างเงื่อนไขถัดไป

Step 3

เลือกตัวเชื่อมเงื่อนไข ได้แก่ AND หรือ OR

Step 4

กำหนด Field, Operator และ Operand ของเงื่อนไขเพิ่มเติมตามต้องการ

Step 5

ตรวจสอบความถูกต้องของเงื่อนไขทั้งหมด และกดบันทึกเพื่อยืนยันการตั้งค่า

ขั้นตอนการจัดกลุ่มเงื่อนไข (Grouping)

ตัวอย่างต่อไปนี้แสดงการจัดกลุ่มเงื่อนไข (Grouping)ใน If-Else Node โดยใช้ตัวเชื่อม AND หรือ OR เพื่อเชื่อมกลุ่มเงื่อนไขเข้าด้วยกัน

ตัวอย่างกลุ่มเงื่อนไขเช่น
กลุ่ม 1: payment_method == “Cash” AND net_amount < 3000
กลุ่ม 2: payment_method == “E-Wallet” AND net_amount < 10000

Step 1

ดับเบิลคลิกที่ If-Else Node เพื่อเข้าสู่หน้ากำหนดเงื่อนไข โดยระบบจะแสดง Dialog สำหรับตั้งค่าเงื่อนไขการตรวจสอบข้อมูล

Step 2

เลือกประเภทของข้อมูลที่ต้องการกำหนดเงื่อนไข

Step 3

กดเพิ่มเงื่อนไข กลุ่มที่ 1
payment_method == “Cash” AND net_amount < 3000

Step 3

กดปุ่ม New Group เพื่อสร้างกลุ่มเงื่อนไข กลุ่มที่ 2

Step 4

กดเพิ่มเงื่อนไข กลุ่มที่ 2
payment_method == “E-Wallet” AND net_amount < 10000

Step 5

เชื่อมเงื่อนไขทั้งสองกลุ่มด้วย AND หรือ OR โดยจากกรณีตัวอย่างจะเชื่อมด้วย OR

Step 6

ตรวจสอบความถูกต้องของเงื่อนไขทั้งหมด และกดบันทึกเพื่อยืนยันการตั้งค่า

ตัวอย่างการประยุกต์ใช้งาน If-Else node