If-Else Node

If-Else Node ใช้สำหรับแยกเส้นทางการประมวลผลของข้อมูลออกเป็น 2 ทาง ตามเงื่อนไขที่กำหนด (boolean condition) โดยหากเงื่อนไขเป็นจริง (True) ข้อมูลจะไปอีกทางหนึ่ง และหากเป็นเท็จ (False) จะไปอีกทางหนึ่ง If-Else node ช่วยให้สามารถควบคุม Flow การทำงานของ Rule Graph ได้อย่างยืดหยุ่นตามเงื่อนไขที่ตั้งไว้

ประโยชน์ใช้งาน

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

ตัวอย่างเชื่อมต่อ If-Else node ใน Rule Graph

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

  1. เพิ่ม If-Else node ลงในพื้นที่สร้างกฎ
  2. เชื่อม input โดยการลากเส้นจาก node ก่อนหน้ามายัง If-Else node
  3. กำหนดเงื่อนไข
  4. เชื่อม output โดยแยกเป็น 2 เส้นทางได้แก่ True/False

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

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

ผู้ใช้งานสามารถเลือก Operand ได้ 2 รูปแบบ ดังนี้

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

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

If-Else node สามารถกำหนดเงื่อนไขได้ 3 รูปแบบได้แก่

  • การกำหนดเงื่อนไขอย่างง่าย (Simple Condition) – คือการกำหนดเงื่อนไขโดยใช้ฟิลด์เดียว เช่น net_amount > 3000 สามารถกำหนดเงื่อนไขได้ดังภาพ
  • การกำหนดเงื่อนไขผสม (Compound condition) – คือการนำหลายเงื่อนไขมาเชื่อมกันด้วยตัวดำเนินการ เช่น AND หรือ OR เพื่อใช้ตรวจสอบข้อมูลที่มีหลายเงื่อนไขร่วมกัน เช่น payment_method == “Credit Card” AND net_amount > 3000 สามารถกำหนดเงื่อนไขได้ดังภาพ
  • การกำหนดเงื่อนไขแบบหลายชั้น (Nested Condition) – คือการนำ If-Else มาซ้อนกันหลายระดับ เพื่อใช้ตรวจสอบเงื่อนไขที่มีความซับซ้อน เช่น order_status == “delivered” AND (payment_method == “Cash” AND net_amount > 3000) สามารถกำหนดเงื่อนไขได้ดังภาพ

กำหนดเงื่อนไขแบบกลุ่ม (Grouping)

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

ตัวอย่างเช่นเงื่อนไข (payment_method == “Cash” AND net_amount < 3000) AND (payment_method == “E-Wallet” AND net_amount < 10000) สามารถกำหนดเงื่อนไขได้ดังภาพ

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