5 DAX พื้นฐานที่คุณต้องรู้

June 12, 2025

by Napat Rammanu

DAX Picture

Power BI เป็นเครื่องมือที่ทรงพลังในการสร้างรายงานแบบอินเทอร์แอคทีฟ แต่สิ่งที่ทำให้ Power BI โดดเด่นจริง ๆ คือ “DAX” หรือ Data Analysis Expressions ซึ่งเป็นภาษาที่ใช้ในการสร้าง Measure และคำนวณข้อมูลเชิงลึก

DAX Picture

สำหรับผู้เริ่มต้น นี่คือ 5 ฟังก์ชัน DAX ที่คุณ ต้องรู้ เพื่อสร้างรายงานที่ทรงพลังและยืดหยุ่นยิ่งขึ้น!

1. CALCULATE() – เปลี่ยนบริบทการกรอง

CALCULATE(<Expression>, <Filter1>, <Filter2>, …)
ฟังก์ชันนี้คือหัวใจของ DAX ใช้เพื่อเปลี่ยน “Filter Context” ของการคำนวณ เช่น คำนวณเฉพาะบางปี บางประเภทสินค้า หรือลบตัวกรองบางส่วน

ตัวอย่าง: ยอดขายเฉพาะปี 2024
Sales_2024 = CALCULATE(SUM(Sales[Amount]), YEAR(Sales[OrderDate]) = 2024)

2. FILTER() – สร้างเงื่อนไขที่ซับซ้อน

FILTER(<Table>, <Condition>)
ใช้สร้างเงื่อนไขเฉพาะสำหรับการกรอง เช่น กรองเฉพาะรายการที่มียอดขายมากกว่า 10,000 ซึ่งใช้ร่วมกับ CALCULATE() บ่อยมาก

ตัวอย่าง: ยอดขายเฉพาะที่ยอด > 10,000
HighSales = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Amount] > 10000))

3.SUM() – รวมค่าตัวเลข

SUM(<Column>)
ฟังก์ชันพื้นฐานที่สุด ใช้รวมค่าตัวเลขในคอลัมน์ เป็นจุดเริ่มต้นของ Measure แทบทุกรายงาน

ตัวอย่าง: ยอดขายรวม
TotalSales = SUM(Sales[Amount])

4. IF() – การคำนวณแบบมีเงื่อนไข

IF(<Condition>, <Result_True>, <Result_False>)
ใช้สร้างเงื่อนไข เช่น ถ้าขายได้เกินเป้า ให้แสดงว่า “ผ่าน”, ถ้าน้อยกว่า ให้แสดงว่า “ไม่ผ่าน”

ตัวอย่าง: ตรวจสอบว่าผ่านเป้าหมายหรือไม่
PassTarget = IF(Sales[Amount] > 100000, “ผ่าน”, “ไม่ผ่าน”)

5. SAMEPERIODLASTYEAR() – วิเคราะห์เทียบกับปีก่อน

SAMEPERIODLASTYEAR(<DateColumn>)|
ใช้กับ Time Intelligence เพื่อเปรียบเทียบข้อมูลช่วงเวลาเดิมในปีที่แล้ว เหมาะกับรายงานที่ต้องการวิเคราะห์แนวโน้มปีต่อปี

ตัวอย่าง: ยอดขายปีที่แล้ว
Sales_LY = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Dates[Date]))

สรุป

การเข้าใจและใช้งาน DAX เหล่านี้ให้คล่อง จะช่วยให้คุณสร้างรายงาน Power BI ที่มีประสิทธิภาพ สื่อสารข้อมูลได้ชัดเจน และช่วยตัดสินใจได้แม่นยำยิ่งขึ้น

สามารถเข้าไปดูบทความอื่นๆ ได้ที่: https://rdbi.co.th/blog/

ปรึกษาหรือสอบถามเพิ่มเติมได้ที่

เพจ: http://bit.ly/rdbipage
Facebook: https://www.facebook.com/RandDBI/
Line OA: @rdbi
Tel: 02-681-9700
อีเมล์: sales@rdbi.co.th🌟

Share this post:
Facebook
Twitter
LinkedIn
WhatsApp

Discover more articles