DAX (Data Analysis Expressions) คือภาษาสำหรับการคำนวณและสรุปข้อมูลใน Power BI, Power Pivot และ SSAS ซึ่งเป็นหัวใจสำคัญของการสร้าง Dashboard ที่ฉลาดและวิเคราะห์เชิงลึกได้
หลายคนใช้งาน Power BI ได้ แต่ ไม่เข้าใจ DAX อย่างลึกซึ้ง ทำให้วิเคราะห์ข้อมูลขั้นสูงไม่ได้ เช่น การคำนวณรายปี YoY, การเรียกดูข้อมูลที่สัมพันธ์กัน, หรือการสร้าง Measures ซับซ้อน
การเข้าใจ DAX จะช่วยให้คุณทำได้ เช่น:
การเปรียบเทียบยอดขายปีนี้-ปีก่อน
คำนวณอายุลูกค้าอัตโนมัติ
คำนวณเฉลี่ย/รวมตามเงื่อนไข
วิเคราะห์ข้อมูล Dynamic ตาม Filter
ฟังก์ชัน DAX ที่มืออาชีพต้องรู้
1) YEARFRAC() – คำนวณอายุจากวันที่
ใช้หาอายุลูกค้า/อายุงาน
ตัวอย่าง: คำนวณอายุจากวันเกิด
Age = INT(YEARFRAC(Customer[Birthdate], TODAY()))
ผลลัพธ์: อายุแบบจำนวนปีเต็ม
2) INT() – ปัดเศษทศนิยมลง
ใช้ร่วมกับ YEARFRAC เพื่อให้ได้จำนวนปี (ปัดเศษ)
ตัวอย่างด้านบนใช้คู่กันกับ YEARFRAC แล้ว
3) IF() – เงื่อนไขเหมือน Excel
ตัวอย่าง: จัดกลุ่มอายุ
Age Group =
IF([Age] < 18, "เด็ก",
IF([Age] < 60, "ผู้ใหญ่", "ผู้สูงอายุ")
)
4) SUM() – ผลรวมทั้งหมด
ยอดขายรวม
Total Sales = SUM(Sales[Amount])
5) SUMX() – ผลรวมแบบคำนวณทีละแถว
เหมาะเมื่อมีการคำนวณก่อนรวม เช่น จำนวน * ราคา
Total SalesX = SUMX(Sales, Sales[Quantity] * Sales[Price])
ต่างจาก SUM เพราะ SUMX คำนวณระดับ Row ก่อนค่อยรวม
6) RELATED() – ดึงข้อมูลจากตารางที่สัมพันธ์
ตัวอย่าง: ดึงชื่อหมวดหมู่สินค้า
Category Name = RELATED(ProductCategory[CategoryName])
ใช้ได้เมื่อมี Relationship
7) CALCULATE() – เปลี่ยนบริบทการคำนวณ (Key Concept ของ DAX!)
ตัวอย่าง: ยอดขายเฉพาะรายการที่สาขา A
Sales BranchA = CALCULATE([Total Sales], Store[Branch] = "A")
8) SAMEPERIODLASTYEAR() – ยอดขายช่วงเดียวกันของปีก่อน
ใช้ทำ KPI รายงาน YoY
Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR(Date[Date]))
9) DIVIDE() – หารแบบปลอดภัย (ป้องกันหารด้วยศูนย์)
ตัวอย่าง: % เปลี่ยนแปลง YoY
YoY % Change =
DIVIDE([Total Sales] - [Sales LY], [Sales LY])
ตัวอย่างสรุปการใช้งานจริงใน Dashboard
| ฟังก์ชัน | ใช้เพื่อ |
|---|---|
| YEARFRAC + INT | คำนวณอายุลูกค้า/พนักงาน |
| IF | แบ่งกลุ่มอายุ/ยอดขาย |
| SUM | ยอดรวม |
| SUMX | รวมหลังการคำนวณในแถว |
| RELATED | ดึงข้อมูลตารางแม่มาแสดง |
| CALCULATE | คำนวณตามเงื่อนไขเฉพาะ |
| SAMEPERIODLASTYEAR | เทียบข้อมูลปีก่อน |
| DIVIDE | คำนวณเปอร์เซ็นต์ไม่ Error |
สรุป
DAX คือหัวใจของ Power BI ที่ทำให้จากผู้สร้างรายงานธรรมดา → เป็น Data Analyst ระดับมืออาชีพ
คำแนะนำสำหรับผู้เริ่มต้น:
- เริ่มจาก
SUM,CALCULATE,IF - เข้าใจ Context (Filter Context & Row Context)
- ฝึกใช้ Measure มากกว่า Column