สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่
Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง
Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว
Calculated table – สร้างการคำนวณให้เกิดตารางใหม่
DAX Function GEOMEAN
แสดงค่าเฉลี่ยเรขาคณิต (Geometric mean) ของตัวเลขในคอลัมน์ ซึ่งจะเหมาะกับการใช้แทนค่าเฉลี่ยเลขคณิต (Arithmetic mean) กับข้อมูลที่มีการกระจายค่าที่แตกต่างกันมาก ข้อมูลมีลักษณะสูงหรือต่ำกว่าค่าอื่น ๆ มาก, เป็นข้อมูลร้อยละ, เป็นข้อมูลอัตราการเปลี่ยนแปลง หรือข้อมูลที่เพิ่มขึ้นหรือลดลงอย่างรวดเร็ว
รูปแบบของ Syntax
GEOMEAN(<column>)
พารามิเตอร์
พารามิเตอร์ | รายละเอียด |
column | คอลัมน์ที่เป็นตัวเลขที่จะใช้คำนวณหาค่าเฉลี่ยเรขาคณิต |
การคืนค่า
เลขทศนิยม 1 ค่า
ข้อสังเกตที่ควรทราบ
ฟังก์ชัน GEOMEAN จะนำเฉพาะค่าที่เป็นตัวเลขในคอลัมน์เท่านั้นมาคำนวณ ซึ่งละเว้นค่าว่าง ค่าตรรกะ และข้อความ
ตัวเลขในคอลัมน์ที่ใช้คำนวณ GEOMEAN ต้องไม่มีค่าตัวเลข 0 ซึ่งทำให้ได้ผลลัพธ์การคำนวณเป็น 0 หรือไม่ควรมีตัวเลขในคอลัมน์น้อยกว่า 0 (ค่าติดลบ) ซึ่งอาจจะทำให้ได้ผลลัพธ์การคำนวณเกิด Error NaN (Not a Number) เนื่องจากค่าเฉลี่ยเรขาคณิต (Geometric mean) คือ ผลลัพธ์รากที่ n ของผลคูณของตัวเลข n จำนวน (n คือจำนวนข้อมูลทั้งหมด)
การใช้ GEOMEAN(Table[Column]) เทียบเท่ากับ GEOMEANX(Table, Table[Column])
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสำหรับใช้งานในโหมด DirectQuery เมื่อใช้ในการ calculated column หรือกฎ row-level security (RLS)
ตัวอย่างการใช้งาน
ตัวอย่างการใช้ฟังก์ชัน GEOMEAN ในการคำนวณหาค่าเฉลี่ยเรขาคณิตของยอดขายสินค้า
จากข้อมูลตาราง Sales ที่มีรายละเอียดการขายสินค้าที่มียอดขายสินค้าอยู่ที่คอลัมน์ Sales amount โดยมีวันที่ขายสินค้าแต่ละรายการที่คอลัมน์ OrderDate และแต่ละการขายสินค้าเป็นของพนักงานขายใดอยู่ที่คอลัมน์ EmployeeCode

จากข้อมูลชุดนี้นอกจากตาราง Sales แล้วยังมีตาราง Employee ซึ่งมีการทำ Relationship ระหว่างกันด้วยคอลัมน์ EmployeeCode ของแต่ละตาราง

ต้องการหายอดขายรวมสินค้า ด้วยการสร้าง measure Total Sales ดังนี้
Total Sales = SUM(Sales[Sales amount])
จากข้อมูลตาราง Sales ซึ่งข้อมูลยอดขายสินค้าในคอลัมน์ Sales amount แต่ละรายการขายมีค่ามากสุด กับค่าต่ำสุดต่างกันมาก โดยหากต้องการหาค่าเฉลี่ยของยอดขายสินค้า ควรใช้ฟังก์ชัน GEOMEAN ค่าเฉลี่ยเรขาคณิต (Geometric mean) แทนการใช้ฟังก์ชัน AVERAGE ค่าเฉลี่ยเลขคณิต (Arithmetic mean) ฉะนั้นทำการคำนวณหาค่าเฉลี่ยของยอดขายสินค้า ด้วยการสร้าง measure Geomean Sales amount ดังนี้
Geomean Sales amount = GEOMEAN(Sales[Sales amount]) //หาค่าเฉลี่ยเรขาคณิตของยอดขาย
ตัวอย่างการใช้งาน GEOMEAN ใน Visualization
ในตัวอย่างนี้นำ measure Geomean Sales amount มาแสดงเป็น Visualization
แบบ Card ชื่อ Title ว่า Geomean Sales amount เพื่อแสดงค่าเฉลี่ยของยอดขายสินค้าเป็นจำนวนเงินเท่าไร
แบบ Line and clustered column chart ที่แสดงยอดขายรวมสินค้า Total Sales (clustered column) กับค่าเฉลี่ยของยอดขายสินค้า Geomean Sales amount (Line) ตามชื่อพนักงานขาย Name ซึ่งจะแสดงให้เห็นว่าพนักงานขายแต่ละคนมียอดขายรวมสินค้า และค่าเฉลี่ยของยอดขายสินค้าเป็นจำนวนเงินเท่าไร
แบบ Table ที่แสดงตารางยอดขายรวมสินค้า Total Sales กับค่าเฉลี่ยของยอดขายสินค้า Geomean Sales amount ระหว่าง Department Sales Team 1 กับ Sales Team 2 ซึ่งจะแสดงให้เห็นว่ายอดขายรวมสินค้า กับค่าเฉลี่ยของยอดขายสินค้า แต่ละทีมขายเป็นจำนวนเงินเท่าไร

ข้อมูลอ้างอิงจากเว็บไซต์
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง DAX เพื่อใช้งานด้าน Data Analysis, Data Analytic, BI โดยใช้ Power BI
ในหลักสูตร Data Analysis Expression (DAX) for Power BI (2 Days)
หรือรูปแบบ Online ที่
Power BI for Data Analytics (64 บทเรียน)
https://academy.9experttraining.com/courses/68a46389052c19ad1f71f0b6




