DAX Function SUMX พร้อมตัวอย่างการใช้งาน

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 ได้เช่นกัน ดังแสดงในตัวอย่างนี้
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 SUMXDAX 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 โดยเฉพาะอย่างยิ่งในกรณีที่ข้อมูลเรามีจำนวนมาก ๆ จะมีผลความแตกต่างในเรื่องของขนาดไฟล์และประสิทธิภาพได้
อ้างอิงจากเว็บไซต์ Microsoft
https://docs.microsoft.com/en-us/dax/sumx-function-dax
บทความเกี่ยวกับ DAX ที่น่าสนใจ
- Data Analysis Expression (DAX) คืออะไร
- DAX Measures และ Calculated Column
- การสร้าง DAX Measures ใน Power BI
- DAX Functions A to Z รวมสูตร 26 สูตร ที่น่าสนใจ พร้อมวิธีใช้งาน
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง DAX เพื่อใช้งานด้าน Data Analysis, Data Analytic, BI โดยใช้ Power BIในหลักสูตร Data Analysis Expression (DAX) for Power BI (2 Days)
และมีหลักสูตรการอบรมเกี่ยวกับ Power BI เพิ่มเติมดังนี้ :
- Power BI Desktop for Business Analytics (2 Days)
- Power BI Advanced Visualization and AI (2 Days)
- Power BI Advanced Power Query (2 Days)
- Data Model for Power BI (2 Days)
หรือรูปแบบ Online ที่
Microsoft Power BI for Business Analytics (64 บทเรียน)