PRODUCTX วนประเมิน Expression บน Table แล้วคูณผลลัพธ์ของแต่ละแถวเข้าด้วยกันเป็นค่าเดี่ยว เหมาะกับการคูณปัจจัย/อัตราการเปลี่ยนแปลงต่อเนื่องหลายงวด และควรระวัง BLANK/ศูนย์/ค่าติดลบตามตรรกะงาน
=PRODUCTX(<Table>, <Expression>)
=PRODUCTX(<Table>, <Expression>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Table | table | Yes | ตารางที่ต้องการวนแถวเพื่อคูณค่า | |
| Expression | expression | Yes | นิพจน์ที่คำนวณต่อแถวและถูกนำไปคูณรวมกัน |
คำนวณตัวคูณสะสมจาก (1+r) หลายงวด
เช่นคูณค่าปรับ/ตัวคูณจากหลายแถวเพื่อได้ผลรวมแบบคูณ
ตัวคูณสะสม = PRODUCTX( VALUES('Date'[Date]), 1 + [Daily Return] )ตัวคูณสะสม =
PRODUCTX(
VALUES('Date'[Date]),
1 + [Daily Return]
)
ได้ตัวคูณสะสมจากการคูณ (1 + Daily Return) ทุกวันในช่วงที่ถูกกรอง
ผลคูณปัจจัย = PRODUCTX( Factors, Factors[Multiplier] )ผลคูณปัจจัย =
PRODUCTX(
Factors,
Factors[Multiplier]
)
ได้ผลคูณของ Multiplier ทุกแถวในตาราง Factors
ผลคูณ (แทน BLANK เป็น 1) = PRODUCTX( Factors, IF(ISBLANK(Factors[Multiplier]), 1, Factors[Multiplier]) )=ผลคูณ (แทน BLANK เป็น 1) =
PRODUCTX(
Factors,
IF(ISBLANK(Factors[Multiplier]), 1, Factors[Multiplier])
)
BLANK จะไม่ทำให้ผลลัพธ์เสียรูปด้วยการแทนเป็น 1
SUMX วนแล้วรวมผลลัพธ์ ส่วน PRODUCTX วนแล้วคูณผลลัพธ์ของแต่ละแถว
ผลคูณจะเป็น 0 ทันทีตามคณิตศาสตร์ ดังนั้นควรพิจารณาว่า 0/BLANK ควรถูกจัดการอย่างไรตามความหมายของข้อมูล
PRODUCTX เป็น iterator ที่คำนวณค่า Expression สำหรับแต่ละแถวของ Table แล้วนำค่าที่ได้มา “คูณรวมกัน” เป็นผลลัพธ์เดียว เหมาะกับงานที่ต้องการผลคูณสะสม เช่นการคูณปัจจัยหลายช่วง หรือการคูณอัตราการเติบโตต่อเนื่อง (เช่น (1+r) หลายงวด)
เช่น ถ้าคุณมีอัตราการเปลี่ยนแปลงรายวัน r คุณอาจคำนวณผลคูณของ (1+r) เพื่อได้ตัวคูณสะสม แล้วนำไปคูณกับค่าเริ่มต้นเพื่อได้ค่าปลายงวด