DAX Function KEEPFILTERS

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

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

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


 

DAX Function KEEPFILTERS

เปลี่ยนความหมายการกรอง ในฟังก์ชัน CALCULATE และ CALCULATABLE

รูปแบบของ Syntax

KEEPFILTERS(<expression>)

พารามิเตอร์

พารามิเตอร์รายละเอียด
expressionexpression ใด หรือ พวกตัวกรองต่าง ๆ


 

การคืนค่า

ตารางที่มีค่า ที่ต้องใช้ประกอบกับฟังก์ชัน CALCULATE หรือ CALCULATABLE

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

  • การใช้ฟังก์ชัน KEEPFILTERS ภายในฟังก์ชัน CALCULATE และ CALCULATETABLE เพื่อแทนที่การทำงานมาตรฐานของฟังก์ชันเหล่านั้น
  • ตามค่าเริ่มต้น อาร์กิวเมนต์ตัวกรองในฟังก์ชัน เช่น ฟังก์ชัน CALCULATE จะถูกใช้เป็นบริบทสำหรับการประเมินนิพจน์ และเนื่องจากอาร์กิวเมนต์ตัวกรองสำหรับ CALCULATE จะแทนที่ตัวกรองที่มีอยู่ทั้งหมดบนคอลัมน์เดียวกัน ซึ่งบริบทใหม่ที่ได้รับผลกระทบจากอาร์กิวเมนต์ตัวกรองของฟังก์ชัน CALCULATE นั้นจะมีผลกับตัวกรองในคอลัมน์ที่เป็นส่วนหนึ่งของอาร์กิวเมนต์ตัวกรองฟังก์ชัน CALCULATE เท่านั้น โดยที่ตัวกรองในคอลัมน์อื่นนอกเหนือจากที่กล่าวถึงในอาร์กิวเมนต์ของฟังก์ชัน CALCULATE หรือฟังก์ชันที่เกี่ยวข้องอื่น ๆ จะยังคงมีผลและไม่เปลี่ยนแปลง
  • ฟังก์ชัน KEEPFILTERS ช่วยให้สามารถปรับเปลี่ยนพฤติกรรมนี้ได้ เมื่อใช้ฟังก์ชัน KEEPFILTERS ตัวกรองที่มีอยู่ในบริบทปัจจุบันจะถูกเปรียบเทียบกับคอลัมน์ในอาร์กิวเมนต์ตัวกรองของฟังก์ชัน KEEPFILTERS และจุดตัดของอาร์กิวเมนต์เหล่านั้นจะถูกใช้เป็นบริบทสำหรับการประเมิน expression ซึ่งผลลัพธ์สุทธิเกิดกับคอลัมน์คอลัมน์ใดคอลัมน์หนึ่งกับการใช้ชุดอาร์กิวเมนต์ทั้งสองชุด ระหว่างทั้งอาร์กิวเมนต์ตัวกรองที่ใช้ใน CALCULATE และตัวกรองในอาร์กิวเมนต์ของฟังก์ชัน KEEPFILTER กล่าวอีกนัยหนึ่ง ในขณะที่ตัวกรอง CALCULATE แทนที่บริบทปัจจุบัน KEEPFILTERS จะเพิ่มตัวกรองให้กับบริบทปัจจุบัน
  • หรือ ฟังก์ชัน KEEPFILTERS เป็นฟังก์ชันแก้ไขตัวกรอง โดยไม่ได้ลบหรือแก้ไขบริบทตัวกรองคอลัมน์หรือตารางที่มีอยู่ หากบริบทตัวกรองที่มีอยู่นั้นไม่ได้เกี่ยวกับตัวกรองที่ใช้ในอาร์กิวเมนต์ของ KEEPFILTERS
  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสำหรับใช้ในโหมด DirectQuery เมื่อใช้ในการ calculated column หรือกฎ row-level security (RLS)