เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
โหนด "การคำนวณ" (Calculation) ใช้สำหรับประเมินค่าของนิพจน์ (expression) โดยผลลัพธ์ที่ได้จะถูกบันทึกไว้ในโหนดนั้น ๆ เพื่อให้โหนดอื่น ๆ สามารถนำไปใช้ต่อได้ เป็นเครื่องมือที่ช่วยในการคำนวณ ประมวลผล และแปลงข้อมูล ซึ่งในบางกรณีสามารถใช้แทนการเรียกใช้ฟังก์ชันเพื่อคำนวณค่าและกำหนดให้กับตัวแปรในภาษาโปรแกรมได้ครับ/ค่ะ
ในหน้าจอการตั้งค่าเวิร์กโฟลว์ ให้คลิกปุ่มเครื่องหมายบวก ("+") ในโฟลว์เพื่อเพิ่มโหนด "การคำนวณ" ครับ/ค่ะ:


เอ็นจินการคำนวณ (Calculation Engine) จะกำหนดไวยากรณ์ที่นิพจน์รองรับ ปัจจุบันเอ็นจินที่รองรับได้แก่ Math.js และ Formula.js ครับ/ค่ะ เอ็นจินแต่ละตัวมีฟังก์ชันทั่วไปและเมธอดสำหรับการดำเนินการข้อมูลจำนวนมากในตัว หากต้องการทราบวิธีการใช้งานโดยละเอียด สามารถอ้างอิงจากเอกสารทางการของแต่ละเอ็นจินได้เลยครับ/ค่ะ
โปรดทราบว่าเอ็นจินแต่ละตัวมีความแตกต่างกันในการเข้าถึงดัชนีของอาร์เรย์ (array index access) โดย Math.js จะเริ่มต้นดัชนีจาก 1 ในขณะที่ Formula.js จะเริ่มต้นจาก 0 ครับ/ค่ะ
นอกจากนี้ หากคุณต้องการเชื่อมต่อสตริงแบบง่าย ๆ สามารถใช้ "เทมเพลตสตริง" (String Template) ได้โดยตรง เอ็นจินนี้จะแทนที่ตัวแปรในนิพจน์ด้วยค่าที่เกี่ยวข้อง แล้วส่งคืนสตริงที่เชื่อมต่อกันครับ/ค่ะ
นิพจน์ (Expression) คือการแสดงผลของสูตรการคำนวณในรูปแบบสตริง ซึ่งสามารถประกอบด้วยตัวแปร ค่าคงที่ ตัวดำเนินการ และฟังก์ชันที่รองรับ คุณสามารถใช้ตัวแปรจากบริบทของโฟลว์ได้ เช่น ผลลัพธ์จากโหนดก่อนหน้าของโหนดการคำนวณ หรือตัวแปรโลคัลของลูป เป็นต้น
หากการป้อนนิพจน์ไม่เป็นไปตามไวยากรณ์ที่กำหนด ระบบจะแจ้งข้อผิดพลาดในการตั้งค่าโหนด และหากในระหว่างการทำงานจริง ตัวแปรไม่มีอยู่จริง หรือชนิดข้อมูลไม่ตรงกัน หรือมีการใช้ฟังก์ชันที่ไม่มีอยู่ โหนดการคำนวณจะหยุดทำงานก่อนกำหนดพร้อมสถานะข้อผิดพลาดครับ/ค่ะ
โดยปกติแล้ว คำสั่งซื้อหนึ่งรายการอาจมีสินค้าหลายชิ้น ซึ่งแต่ละชิ้นมีราคาและจำนวนที่แตกต่างกัน ราคารวมของคำสั่งซื้อจำเป็นต้องคำนวณจากผลรวมของผลคูณระหว่างราคาและจำนวนของสินค้าทุกชิ้น คุณสามารถใช้โหนดการคำนวณเพื่อหาราคาสินค้ารวมของคำสั่งซื้อได้ หลังจากโหลดรายการรายละเอียดคำสั่งซื้อ (สำหรับชุดข้อมูลความสัมพันธ์แบบหนึ่งต่อหลาย) ครับ/ค่ะ:

ในตัวอย่างนี้ ฟังก์ชัน SUMPRODUCT ของ Formula.js สามารถคำนวณผลรวมของผลคูณในแต่ละแถวของอาร์เรย์สองชุดที่มีความยาวเท่ากัน ซึ่งจะให้ผลลัพธ์เป็นราคารวมของคำสั่งซื้อครับ/ค่ะ