DAX Measures และ Calculated Columns

DAX Measures และ Calculated Columns
การคำนวณใน DAX (Data Analysis Expression) เป็นส่วนที่สำคัญมาก ๆ ใน Power BI, SSAS, Power Pivot ซึ่งการคำนวณนั้นจะสร้างได้ทั้ง Calculated Column, Measures ได้ ซึ่งการเลือกใช้ให้เหมาะสมจะได้ทั้งในเรื่องประสิทธิภาพและความถูกต้องสำหรับการทำงานกับ Power BI, Power Pivot, SQL Analysis Service Tabular Data Model นั้น DAX (Data Analysis Expression) สามารถทำการสร้างการคำนวณด้านกัน 3 ประเภทคือ
- Calculated Columns
- Measures
- Table

Calculated Columns คืออะไร
Calculated Columns ใช้ในการคำนวณใน Table เป็นการทำงานใน Data Model เพื่อนำไปใช้ใน Report ได้ โดยคำนวณในลักษณะ Row-by-Row คือ คำนวณทีละ Row การอ้างอิงจะเป็นการคำนวณใน Row ปัจจุบันที่คำนวณการคำนวณในลักษณะนี้จะใช้การจัดเก็บใน Model ด้วยเทคโนโลยี xVelocity in-memory Analytical Engine โดยจะใช้ RAM (หน่วยความจำ) และ Disk (พื้นที่ของดิสก์)
ข้อแนะนำในการนำไปใช้งาน
- มักจะนำไปใช้คำนวณเพื่อใช้ในการทำ Filter
- นำไปใช้ทำ Slicer
- รายการที่เราจะนำไปใช้สร้างแกนกราฟ (Axis)
- การจัดกลุ่มข้อมูลของข้อความหรือตัวเลข เช่น 0-9, 10-19, 20 ขึ้นไป
รูปแบบ
ColumnName = DAX expression for calculated columnตัวอย่างเช่น
Margin = Sales[Amount] – Sales[Cost]Measures คืออะไร
Measures ใช้สำหรับการทำงานด้าน Data Analysis เพื่อทำการคำนวณต่าง ๆ ซึ่งจะไม่เก็บใน Database ดังนั้นการทำงานจะรวดเร็ว ไม่ทำให้ไฟล์ใหญ่ขึ้น มักจะไปใช้กับการทำ Aggregation ต่าง ๆ ซึ่งใน Power BI จะมีการสร้าง Automatic Measures ให้อัตโนมัติ สำหรับ Field ที่เป็นตัวเลข ก็จะมีการทำ Summarization ด้วยสูตร SUM และจะมีเครื่องหมาย ∑ นำหน้า ซึ่งจะเรียกว่า Implicit Measure แต่หากเราสร้างเองก็จะเรียกว่า Explicit Measureข้อแนะนำในการนำไปใช้งาน
- นำไปใช้สร้างการคำนวณกลุ่ม Aggregate เช่น SUM, COUNT, MAX, MIN หรือ SUMX, COUNTX, RANKX เป็นต้น
- การคำนวณซับซ้อน
- การคำนวณ Percentage การคำนวณ Ratio
- Time Intelligence
รูปแบบ
MeasureName = DAX expression for measureตัวอย่างเช่น
Margin % = DIVIDE(SUM(Sales[Amount]) – SUM(Sales[Cost]), SUM(Sales[Amount]))การเลือกใช้งานระหว่าง Calculated Column และ Measure
การคำนวณใน DAX นั้นเราอาจจะต้องเลือกว่าเราจะสร้างด้วย Calculated Column หรือ Measures ซึ่งในบางลักษณะของการคำนวณ อาจจะใช้ได้ทั้ง Calculated Column และ Measure แต่เราควรจะเลือกให้เหมาะสม ยกตัวอย่างเช่น การคำนวณ กำไร (Margin) ซึ่งก็คือ เอายอดขาย (Amount) ลบกับ ต้นทุน (Cost)สร้างด้วย Calculated Column
Margin = Sales[Amount] – Sales[Cost]สร้างด้วย Measure
Margin = SUM(Sales[Amount]) – SUM(Sales[Cost])ในกรณีนี้จะแนะนำให้สร้างด้วย Measures เพราะจะไม่ใช้ Memory และ Disk โดยเฉพาะอย่างยิ่งในกรณีที่ข้อมูลเรามีจำนวนมาก ๆ จะมีผลความแตกต่างในเรื่องของขนาดไฟล์และประสิทธิภาพได้
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง 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 บทเรียน)