PRODUCTX วนประเมิน Expression บน Table แล้วคูณผลลัพธ์ของแต่ละแถวเข้าด้วยกันเป็นค่าเดี่ยว เหมาะกับการคูณปัจจัย/อัตราการเปลี่ยนแปลงต่อเนื่องหลายงวด และควรระวัง BLANK/ศูนย์/ค่าติดลบตามตรรกะงาน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| Table | table | ตารางที่ต้องการวนแถวเพื่อคูณค่า |
| Expression | expression | นิพจน์ที่คำนวณต่อแถวและถูกนำไปคูณรวมกัน |
PRODUCTX เป็น iterator ที่คำนวณค่า Expression สำหรับแต่ละแถวของ Table แล้วนำค่าที่ได้มา “คูณรวมกัน” เป็นผลลัพธ์เดียว เหมาะกับงานที่ต้องการผลคูณสะสม เช่นการคูณปัจจัยหลายช่วง หรือการคูณอัตราการเติบโตต่อเนื่อง (เช่น (1+r) หลายงวด)
เช่น ถ้าคุณมีอัตราการเปลี่ยนแปลงรายวัน r คุณอาจคำนวณผลคูณของ (1+r) เพื่อได้ตัวคูณสะสม แล้วนำไปคูณกับค่าเริ่มต้นเพื่อได้ค่าปลายงวด
คำนวณตัวคูณสะสมจาก (1+r) หลายงวด
เช่นคูณค่าปรับ/ตัวคูณจากหลายแถวเพื่อได้ผลรวมแบบคูณ
ใช้ VALUES('Date'[Date]) เป็นชุดวัน แล้วคูณปัจจัยต่อวันเข้าด้วยกัน
เหมาะเมื่อมีตัวคูณหลายตัวที่ต้องการรวมแบบคูณ
เลือกวิธีจัดการ BLANK ให้สอดคล้องกับตรรกะของงาน (บางงานอาจต้องการ BLANK แทน)
SUMX วนแล้วรวมผลลัพธ์ ส่วน PRODUCTX วนแล้วคูณผลลัพธ์ของแต่ละแถว
ผลคูณจะเป็น 0 ทันทีตามคณิตศาสตร์ ดังนั้นควรพิจารณาว่า 0/BLANK ควรถูกจัดการอย่างไรตามความหมายของข้อมูล
ฟังก์ชันที่ผู้เขียนโยงไว้กับ PRODUCTX จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
AVERAGEX เป็น Iterator Function ที่วนลูปตารางทีละแถว คำนวณ Expression แล้วนำผลลัพธ์มาหาค่าเฉลี่ย เหมาะสำหรับกรณีที่ต้องการเฉลี่ยค่าที่คำนวณได้ เช่น ราคา×จำนวน หรือค่าเฉลี่ยของ Measure ในแต่ละกลุ่ม
COUNTX ไล่ประเมินนิพจน์ทีละแถวในตาราง แล้วนับจำนวนแถวที่ได้ผลลัพธ์ไม่ว่าง เหมาะสำหรับการนับจากค่าที่คำนวณต่อแถว ไม่ใช่นับคอลัมน์ตรง ๆ
PRODUCT คูณค่าทั้งหมดในคอลัมน์ (ละเว้น BLANK และข้อความ) ใช้เมื่อจำเป็นต้องคูณค่าแบบรวม เช่น คูณอัตราเติบโตหรือสัดส่วนที่ต้องรวมผลคูณ
SUMX เป็น iterator function ที่ทรงพลังใน DAX ออกแบบมาเพื่อวนลูปทีละแถวในตารางที่กำหนด แล้วคำนวณ expression ที่ซับซ้อนสำหรับแต่ละแถวก่อนนำผลลัพธ์ทั้งหมดมารวมกัน ต่างจาก SUM ที่รวมเฉพาะค่าใน column เดียว SUMX สร้าง row context สำหรับแต่ละแถว ทำให้สามารถคำนวณ expression อย่าง Quantity × Price หรือใช้ RELATED ดึงข้อมูลข้ามตารางได้ มีกลไก context transition อัตโนมัติเมื่อเจอ measure ในนั้น เหมาะสำหรับการคำนวณซับซ้อนระดับแถวข้อมูล ประหยัดพื้นที่ model เพราะไม่ต้องสร้าง calculated column แต่ช้ากว่า SUM และไม่รองรับ DirectQuery mode ใน calculated columns หรือ RLS rules
CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่