กลับไปหน้า Power BI
ทริคPower BI

พื้นฐาน DAX

DAX คือภาษาเขียนสูตรของ Power BI ใช้สร้าง measure และ calculated column โดยเริ่มจากแนวคิดก่อนจำฟังก์ชัน

เริ่มอ่านตรงนี้ก่อน

อธิบายแบบง่าย

พื้นฐาน DAX คือเรื่องที่ช่วยให้เราใช้ทำรายงานและ dashboard จากข้อมูลได้ถูกทางขึ้น

ระดับ

เหมาะกับคนเริ่มต้น

ใช้เมื่อไหร่

คุณต้องการสร้างตัวเลขสรุป เช่น ยอดขายรวม จำนวนคำสั่งซื้อ หรืออัตรากำไร

อ่านแล้วทำอะไรต่อ

เขียน measure รวมยอดเงินทุกแถวในตาราง Sales ค่าที่ได้จะเปลี่ยนตามมิติที่กรองอยู่ในภาพโดยอัตโนมัติ

เห็นภาพ: ทริคนี้เป็นยังไง

ก่อน (คิดแบบ Excel): สร้าง calculated column ต่อแถวเก็บค่าไว้ทุกแถว เปลืองที่และไม่ยืดหยุ่นตามบริบท
-- calculated column ต่อแถว
Line Total = Sales[Quantity] * Sales[UnitPrice]
-- แล้วต้องไปรวมอีกที
หลัง (คิดแบบ DAX): measure ตัวเดียว คำนวณสดตาม slicer และมิติที่เลือก ไม่กินที่ในไฟล์
Total Sales = SUM(Sales[Amount])

Total Revenue =
SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
คนมาจาก Excel มักทำคอลัมน์ต่อแถวแล้วค่อยรวม — แต่ DAX คิดทั้งคอลัมน์ภายใต้ตัวกรอง ใช้ measure ตัวเดียวจบ

ใช้ตอนไหน?

  • คุณต้องการสร้างตัวเลขสรุป เช่น ยอดขายรวม จำนวนคำสั่งซื้อ หรืออัตรากำไร
  • คุณต้องการตัวเลขที่เปลี่ยนตาม slicer และมิติที่ผู้ใช้เลือก
  • คุณต้องการคำนวณอัตราส่วนหรือเงื่อนไขที่ Power Query ทำให้ไม่ได้

ความหมาย

DAX (Data Analysis Expressions ภาษาสูตรของ Power BI) คือภาษาที่ใช้เขียนสูตรคำนวณในโมเดลข้อมูล ใช้สร้างทั้ง measure (ค่าที่คำนวณตอนดูรายงาน) และ calculated column (คอลัมน์ที่คำนวณตอนรีเฟรช) แนวคิดสำคัญคือสูตรทุกตัวทำงานภายใต้บริบทการกรอง (filter context) ไม่ใช่แค่คำนวณค่าตรง ๆ เหมือนสูตร Excel

รูปแบบสูตร DAX เบื้องต้น

เริ่มจากตั้งชื่อ measure แล้วตามด้วยเครื่องหมายเท่ากับและฟังก์ชันรวมค่า เช่น SUM หรือ AVERAGE เหนือคอลัมน์ของตาราง

Total Sales = SUM(Sales[Amount])

Average Price = AVERAGE(Sales[UnitPrice])

Order Count = COUNTROWS(Sales)

ตัวอย่างการใช้

วัดยอดขายรวม

เขียน measure รวมยอดเงินทุกแถวในตาราง Sales ค่าที่ได้จะเปลี่ยนตามมิติที่กรองอยู่ในภาพโดยอัตโนมัติ

Total Sales = SUM(Sales[Amount])