Excel DAX - ฟังก์ชันตัวกรอง
DAX มีประสิทธิภาพ filter functionsซึ่งค่อนข้างแตกต่างจากฟังก์ชันของ Excel ฟังก์ชันการค้นหาทำงานโดยใช้ตารางและความสัมพันธ์เช่นฐานข้อมูล ฟังก์ชันการกรองช่วยให้คุณจัดการบริบทข้อมูลเพื่อสร้างการคำนวณแบบไดนามิก
Note- ฟังก์ชันตัวกรอง DAX ที่ส่งคืนตารางจะไม่เพิ่มตารางลงในตัวแบบข้อมูล ตารางผลลัพธ์ถูกใช้เป็นอาร์กิวเมนต์ในฟังก์ชัน DAX อื่น นั่นคือฟังก์ชัน DAX ดังกล่าวถูกใช้เป็นฟังก์ชันซ้อนกับฟังก์ชัน DAX อื่น ๆ
ในส่วนถัดไปคุณจะได้เรียนรู้ฟังก์ชันตัวกรอง DAX ที่คุณสามารถใช้ได้ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชันเหล่านี้โปรดดูบทช่วยสอน - ฟังก์ชัน DAX ในไลบรารีบทช่วยสอนนี้
ฟังก์ชันตัวกรอง DAX
ต่อไปนี้เป็นฟังก์ชันตัวกรอง DAX -
| ซีเนียร์ | ฟังก์ชัน DAX และฟังก์ชันทำอะไร? | 
|---|---|
| 1 | ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …) เพิ่มการรวมรายการจากหลายคอลัมน์ลงในตารางหากยังไม่มีอยู่ การกำหนดชุดค่าผสมรายการที่จะเพิ่มขึ้นอยู่กับคอลัมน์แหล่งอ้างอิงที่มีค่าที่เป็นไปได้ทั้งหมดสำหรับคอลัมน์ เพื่อกำหนดการรวมรายการจากคอลัมน์ต่างๆที่จะประเมิน - 
  |  
      
| 2 | ALL ( {<table> | <column>, [<column>], [<column>], … }) ส่งคืนแถวทั้งหมดในตารางที่กำหนดหรือค่าทั้งหมดในคอลัมน์ที่ระบุในตารางโดยไม่สนใจตัวกรองใด ๆ ที่อาจถูกนำไปใช้ ฟังก์ชันนี้มีประโยชน์สำหรับการล้างตัวกรองและสร้างการคำนวณในทุกแถวในตาราง  |  
      
| 3 | ALLEXCEPT (<table>, <column>, [<column>], …) ลบตัวกรองบริบททั้งหมดในตารางยกเว้นตัวกรองที่ใช้กับคอลัมน์ที่ระบุเป็นอาร์กิวเมนต์ ในทางตรงกันข้ามคุณสามารถใช้ฟังก์ชันนี้เมื่อคุณต้องการลบตัวกรองในคอลัมน์จำนวนมาก แต่ไม่ใช่ทั้งหมดในตาราง  |  
      
| 4 | ALLNOBLANKROW (<table>|<column>) จากตารางหลักของความสัมพันธ์ผลตอบแทน - 
 ฟังก์ชันไม่สนใจตัวกรองบริบทใด ๆ ที่อาจมีอยู่  |  
      
| 5 | ALLSELECTED ( [<tableName>|<columnName>] ) ลบตัวกรองบริบทออกจากคอลัมน์และแถวในแบบสอบถามปัจจุบันในขณะที่ยังคงตัวกรองบริบทอื่น ๆ ทั้งหมดหรือตัวกรองที่ชัดเจน  |  
      
| 6 | CALCULATE (<expression>, [<filter1>, <filter2> …)] ประเมินนิพจน์ในบริบทที่แก้ไขโดยตัวกรองที่ระบุ ส่งคืนค่าที่เป็นผลลัพธ์ของนิพจน์  |  
      
| 7 | CALCULATETABLE (<expression>, <filter1>, <filter2>, …) ประเมินนิพจน์ตารางในบริบทที่แก้ไขโดยตัวกรองที่กำหนด ส่งคืนตารางค่า  |  
      
| 8 | CROSSFILTER (<columnName1>, <columnName2>, <direction>) ระบุทิศทางการกรองข้ามที่จะใช้ในการคำนวณสำหรับความสัมพันธ์ที่มีอยู่ระหว่างสองคอลัมน์ ไม่คืนค่าใด ๆ  |  
      
| 9 | DISTINCT (<column>) ส่งคืนตารางหนึ่งคอลัมน์ที่มีค่าที่แตกต่างจากคอลัมน์ที่ระบุ กล่าวอีกนัยหนึ่งคือค่าที่ซ้ำกันจะถูกลบออกและจะส่งคืนค่าที่ไม่ซ้ำกันเท่านั้น คอลัมน์ผลลัพธ์ถูกใช้เป็นอาร์กิวเมนต์ในฟังก์ชัน DAX อื่น  |  
      
| 10 | EARLIER (<column>, <number>) ส่งคืนค่าปัจจุบันของคอลัมน์ที่ระบุในรอบการประเมินภายนอกของคอลัมน์ที่กล่าวถึงที่ระบุโดยตัวเลข  |  
      
| 11 | EARLIEST (<column>) ส่งคืนค่าปัจจุบันของคอลัมน์ที่ระบุในรอบการประเมินภายนอกของคอลัมน์ที่ระบุ  |  
      
| 12 | FILTER (<table>, <filter>) ส่งคืนตารางที่มีเฉพาะแถวที่กรอง FILTER ใช้เป็นฟังก์ชันที่ฝังอยู่ในฟังก์ชันอื่น ๆ ที่ต้องใช้ตารางเป็นอาร์กิวเมนต์เท่านั้น  |  
      
| 13 | FILTERS (<columnName>) ส่งคืนค่าที่ใช้โดยตรงเป็นตัวกรองไปยัง columnName FILTERS ใช้เป็นฟังก์ชันที่ฝังอยู่ในฟังก์ชันอื่น ๆ ที่ต้องใช้ตารางเป็นอาร์กิวเมนต์เท่านั้น  |  
      
| 14 | HASONEFILTER (<columnName>) ส่งคืนค่า TRUE เมื่อจำนวนค่าที่กรองโดยตรงใน columnName เป็นหนึ่ง มิฉะนั้นจะส่งกลับ FALSE  |  
      
| 15 | HASONEVALUE (<columnName>) ส่งคืนค่า TRUE เมื่อบริบทสำหรับ columnName ถูกกรองลงเหลือเพียงค่าเดียวเท่านั้น มิฉะนั้นจะส่งกลับ FALSE  |  
      
| 16 | ISCROSSFILTERED (<columnName>) ส่งคืนค่า TRUE เมื่อ columnName หรือคอลัมน์อื่นในตารางเดียวกันหรือที่เกี่ยวข้องกำลังถูกกรอง  |  
      
| 17 | ISFILTERED (<columnName>) ส่งกลับค่า TRUE เมื่อมีการกรอง columnName โดยตรง หากไม่มีตัวกรองในคอลัมน์หรือหากการกรองเกิดขึ้นเนื่องจากคอลัมน์อื่นในตารางเดียวกันหรือในตารางที่เกี่ยวข้องกำลังถูกกรองฟังก์ชันจะส่งกลับ FALSE  |  
      
| 18 | KEEPFILTERS (<expression>) ปรับเปลี่ยนวิธีใช้ตัวกรองในขณะที่ประเมินฟังก์ชัน CALCULATE หรือ CALCULATETABLE  |  
      
| 19 | RELATED (<column>) ส่งคืนค่าที่เกี่ยวข้องจากตารางอื่น  |  
      
| 20 | RELATEDTABLE (<tableName>) ประเมินนิพจน์ตารางในบริบทที่แก้ไขโดยตัวกรองที่กำหนด  |  
      
| 21 | SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>]) ส่งคืนตารางซึ่งแสดงถึงเซมิคอยน์ด้านซ้ายของสองตารางที่จัดให้เป็นอาร์กิวเมนต์ semijoin ดำเนินการโดยใช้คอลัมน์ทั่วไปซึ่งกำหนดโดยชื่อคอลัมน์ทั่วไปและประเภทข้อมูลทั่วไป คอลัมน์ที่เข้าร่วมจะถูกแทนที่ด้วยคอลัมน์เดียวในตารางที่ส่งคืนซึ่งเป็นชนิดจำนวนเต็มและมีดัชนี ดัชนีคือการอ้างอิงในตารางการเข้าร่วมที่ถูกต้องตามลำดับการจัดเรียงที่ระบุ  |  
      
| 22 | USERELATIONSHIP ( <columnName1>,<columnName2>) ระบุความสัมพันธ์ที่จะใช้ในการคำนวณเฉพาะเป็นความสัมพันธ์ที่มีอยู่ระหว่าง columnName1 และ columnName2  |  
      
| 23 | VALUES (<TableNameOrColumnName>) ส่งคืนตารางหนึ่งคอลัมน์ที่มีค่าที่แตกต่างจากตารางหรือคอลัมน์ที่ระบุ กล่าวอีกนัยหนึ่งคือค่าที่ซ้ำกันจะถูกลบออกและจะส่งคืนค่าที่ไม่ซ้ำกันเท่านั้น  |