Function SUMX
ใช้สำหรับการหาผลรวมของ Expression ในแต่ละแถวของตารางที่กำหนด เช่น ต้องการนำเอา UnitPrice * Qty แล้วนำยอดมารวมกัน เป็นต้น
รูปแบบของ Syntax
SUMX(<table>, <expression>)
table คือ ชื่อของตารางที่มีข้อมูลเพื่อจะทำการคำนวณ
expression คือ คำสั่ง expression ที่จะใช้ในการคำนวณในแต่ละ Row ของตาราง
การคืนค่า
ผลลัพธ์เป็นค่า 1 ค่า
ตัวอย่างเช่น
หากเรามีข้อมูล Table Sales ในรูป

เราสามารถสร้าง Measure เพื่อคำนวณยอดขาย (Total Sales) และ กำไร (Margin) ได้ดังนี้
Total Sales = SUMX( Sales, [UnitPrice] [Quantity] )
//คำนวณยอดขาย โดยนำ UnitPrice Quantity ในแต่ละ Row แล้วนำมารวมกัน
Margin = SUMX( Sales, ( [UnitPrice]- [CostPrice] ) [Quantity] )
//คำนวณกำไร โดยนำ UnitPrice -CostPrice และ Quantity แล้วนำมารวมกัน
โดย Measure ดังกล่าวสามารถนำไปใช้คำนวณได้กับ Dimension ต่าง ๆ ตามที่ต้องการ เช่นการนำ Margin เทียบกับ Category หรือ เทียบกับ Month ได้เช่นกัน ดังแสดงในตัวอย่างนี้
ตัวอย่างเช่น

Download
ไฟล์ตัวอย่างการใช้งาน DAX Function SUMX
DAX Measure จะช่วยเรื่องประสิทธิภาพได้
การคำนวณใน DAX นั้นเราอาจจะต้องเลือกว่าเราจะสร้างด้วย Calculated Column หรือ Measures ซึ่งในบางลักษณะของการคำนวณ อาจจะใช้ได้ทั้ง Calculated Column และ Measure แต่เราควรจะเลือกให้เหมาะสม ยกตัวอย่างเช่น การคำนวณ กำไร (Margin) ซึ่งก็คือ เอายอดขาย (SaleAmount) ลบกับ ต้นทุน (CostPrice) หากคำนวณแบบ Calculated Column เทียบกับ Measure
สร้างด้วย Calculated Column
SaleAmount = Sales[UnitPrice]*Sales[Quantity]
SaleCost = Sales[CostPrice]*Sales[Quantity]
Margin = Sales[NetSale] – Sales[SaleCost]
สร้างด้วย Measure
Margin = SUMX( Sales, ( [UnitPrice]- [CostPrice] ) * [Quantity] )
ในกรณีนี้จะแนะนำให้สร้างด้วย Measures เพราะจะไม่ใช้ Memory และ Disk โดยเฉพาะอย่างยิ่งในกรณีที่ข้อมูลเรามีจำนวนมาก ๆ จะมีผลความแตกต่างในเรื่องของขนาดไฟล์และประสิทธิภาพได้











