DAX Function FILTER พร้อมตัวอย่างการใช้งาน

แนะนำการใช้งานฟังก์ชัน FILTER ซึ่งเป็นฟังก์ชันของ DAX (Data Analysis Expression) เพื่อใช้งานใน Power BI, Power Pivot ของ Excel และ SSAS ได้ พร้อมตัวอย่างการใช้งานและไฟล์ตัวอย่างให้ดาวน์โหลด
DAX Function FILTER พร้อมตัวอย่างการใช้งาน
ทักษะ (ระบุได้หลายทักษะ)

สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่

  1. Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง
  2. Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว
  3. Calculated table – สร้างการคำนวณให้เกิดตารางใหม่


 

DAX Function FILTER

ส่งคืนตาราง table ที่ถูกกรอง filterexpression

รูปแบบของ Syntax

FILTER(<table>, <filterexpression>)

พารามิเตอร์

พารามิเตอร์รายละเอียด
tableตารางที่ต้องการกรอง
filterexpressionBoolean (True/False) expression สำหรับประเมินแต่ละแถวของตาราง

การคืนค่า

ตารางที่มีเฉพาะแถวที่กรองแล้วเท่านั้น

ข้อสังเกตที่ควรทราบ

  • สามารถใช้ฟังก์ชัน FILTER เพื่อลดจำนวนแถวในตารางที่ทำงานด้วยได้ และใช้กับข้อมูลที่เฉพาะเจาะจงในการคำนวณเท่านั้น
  • ฟังก์ชัน FILTER ปกติไม่ได้ใช้เพื่อได้ตารางที่กรองออกมาเท่านั้น แต่เป็นฟังก์ชันที่ใช้ร่วมกับฟังก์ชันอื่นที่ต้องการตารางเป็นค่าพารามิเตอร์ในฟังก์ชัน
  • ฟังก์ชัน FILTER สามารถกรองแถวจากตารางโดยใช้ expression ที่ถูกต้องในบริบทของแถว การใช้ measure ใน filterexpression ทำให้สามารถกรองตารางตามการคำนวณ measure แบบไดนามิกที่เกี่ยวข้องกับแถว และ/หรือ ตารางอื่น ๆ
  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสำหรับใช้ในโหมด DirectQuery เมื่อใช้ในการ calculated column หรือกฎ row-level security (RLS)


 

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

ตัวอย่างการใช้ฟังก์ชัน FILTER ในการสร้าง measure ยอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000
จากข้อมูลตาราง Sales ที่มีรายละเอียดการขายสินค้าที่มียอดขายสินค้าอยู่ที่คอลัมน์ Sales amount

ตารางข้อมูล Sales ที่มีคอลัมน์ยอดขาย Sales amount

โดยสร้าง measure หายอดขายรวม Total Sales จะได้

Total Sales = SUM(Sales[Sales amount])

ฉะนั้นจากข้อมูลในตาราง Sales กับ measure Total Sales สามารถที่จะหายอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000 ได้ ด้วยการสร้าง measure โดยใช้ฟังก์ชัน FILTER ในการกรองเพื่อให้ได้ตาราง Sales เฉพาะรายการที่มี Total Sales มากกว่า 1000 ได้ และนำผลลัพธ์ของฟังก์ชัน FILTER มาใช้เป็นส่วนหนึ่งของฟังก์ชัน CALCULATE ซึ่งจะได้ measure Sales over 1000 ดังนี้

Sales over 1000 = CALCULATE([Total sales],FILTER(Sales,[Total sales]>1000)) //ยอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000

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

ในตัวอย่างนี้นำ measure Sales over 1000 มาแสดงเป็น Visualization

  • แบบ Card ชื่อ Title ว่า Sales over 1000 เพื่อแสดงยอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000
  • แบบ Clustered column chart ที่แสดงยอดขาย Total Sales กับ Sales over 1000 โดย CategoryName ซึ่งแสดงการเปรียบเทียบยอดขายระหว่างยอดขายรวมทุกรายการ กับ ยอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000 ในแต่ละกลุ่มสินค้า
  • แบบ Table ที่แสดงตารางสรุปยอดขายระหว่าง Total Sales ยอดขายรวมทุกรายการ กับ Sales over 1000 ยอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000 ตามรายชื่อพนักงานขาย เพื่อแสดงให้เห็นว่าในยอดขายรวมของพนักงานขายแต่ละคนนั้น มียอดขายรวมของรายการขายที่มียอดขายมากกว่า 1000 เป็นเท่าไร


 

ตัวอย่างการใช้งาน DAX Function FILTER ใน Microsoft Power BI

Download

ไฟล์ตัวอย่างการใช้งาน
DAX Function FILTER



รับข่าวสารจาก 9Expert Trainingการดาวน์โหลดไฟล์นั้น แสดงว่าคุณได้ยอมรับ Privacy Policy ของเราแล้ว


 

ข้อมูลอ้างอิงจากเว็บไซต์


 

บทความเกี่ยวกับ DAX ที่น่าสนใจ


 

แนะนำหลักสูตรการอบรม

เรียนรู้คำสั่ง DAX เพื่อใช้งานด้าน Data Analysis, Data Analytic, BI โดยใช้ Power BI
ในหลักสูตร Data Analysis Expression (DAX) for Power BI (2 Days)

 

และมีหลักสูตรการอบรมเกี่ยวกับ Power BI เพิ่มเติมดังนี้ :


 

หรือรูปแบบ Online ที่
Microsoft Power BI for Business Analytics (64 บทเรียน)