Share via


ตัว กรอง

นําไปใช้กับ:การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดการคํานวณวิชวล

ส่งกลับตารางที่แสดงชุดย่อยของตารางหรือนิพจน์อื่น

ไวยากรณ์

FILTER(<table>,<filter>)  

พารามิเตอร์

เงื่อนไข คำนิยาม
ตาราง ตารางที่จะกรอง ตารางยังสามารถเป็นนิพจน์ที่ทําให้เกิดตาราง
ตัวกรอง นิพจน์บูลีนที่จะประเมินสําหรับแต่ละแถวของตาราง ตัวอย่างเช่น [Amount] > 0 หรือ [Region] = "France"

ค่าที่ส่งกลับ

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

หมายเหตุ

  • คุณสามารถใช้ FILTER เพื่อลดจํานวนแถวในตารางที่คุณทํางานด้วยได้ และใช้ข้อมูลที่เฉพาะเจาะจงในการคํานวณเท่านั้น FILTER ไม่ได้ถูกใช้อย่างอิสระ แต่เป็นฟังก์ชันที่ฝังอยู่ในฟังก์ชันอื่นที่ต้องการตารางเป็นอาร์กิวเมนต์

  • สําหรับแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ FILTER โปรดดู หลีกเลี่ยงการใช้ตัวกรองเป็นอาร์กิวเมนต์ตัวกรอง

ใช้ COUNTROWS แทน COUNT ใน DAX

  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)

ตัวอย่าง

ตัวอย่างต่อไปนี้สร้างรายงานยอดขายทางอินเทอร์เน็ตนอกสหรัฐอเมริกาโดยใช้หน่วยวัดที่กรองยอดขายในสหรัฐอเมริกาออก จากนั้นแบ่งข้อมูลตามปีปฏิทินและหมวดหมู่ผลิตภัณฑ์ เมื่อต้องการสร้างหน่วยวัดนี้ คุณกรองตาราง Internet Sales USD โดยใช้ Sales Territory จากนั้นใช้ตารางที่กรองแล้วในฟังก์ชัน SUMX

ในตัวอย่างนี้ นิพจน์:

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

ส่งกลับตารางที่เป็นส่วนย่อยของ Internet Sales ลบแถวทั้งหมดที่เป็นของอาณาเขตการขายในสหรัฐอเมริกา ฟังก์ชัน RELATED จะเชื่อมโยงคีย์ Territory ในตาราง Internet Sales กับ SalesTerritoryCountry ในตาราง SalesTerritory

ตารางต่อไปนี้แสดงให้เห็นถึงการพิสูจน์แนวคิดสําหรับหน่วยวัด NON USA Internet Sales (การขายทางอินเทอร์เน็ตนอกสหรัฐอเมริกา) ซึ่งมีอยู่ในส่วนโค้ดด้านล่าง ตารางเปรียบเทียบยอดขายทางอินเทอร์เน็ตทั้งหมดกับยอดขายทางอินเทอร์เน็ตที่ไม่ใช่ในสหรัฐอเมริกา เพื่อแสดงว่านิพจน์ตัวกรองใช้งานได้โดยยกเว้นยอดขายของสหรัฐอเมริกาจากการคํานวณ

เมื่อต้องการสร้างตารางนี้ใหม่ ให้เพิ่มเขตข้อมูล SalesTerritoryCountry ไปยังพื้นที่ Row Labels (ป้ายชื่อแถว) ของรายงานหรือ PivotTable

ตารางที่ 1 เปรียบเทียบยอดขายทั้งหมดสําหรับสหรัฐอเมริกากับภูมิภาคอื่นทั้งหมด

ป้ายชื่อแถว ยอดขายทางอินเทอร์เน็ต ยอดขายทางอินเทอร์เน็ตนอกสหรัฐอเมริกา
ออสเตรเลีย $4,999,021.84 $4,999,021.84
แคนาดา $1,343,109.10 $1,343,109.10
ฝรั่งเศส $2,490,944.57 $2,490,944.57
เยอรมนี $2,775,195.60 $2,775,195.60
สหราชอาณาจักร $5,057,076.55 $5,057,076.55
ประเทศสหรัฐอเมริกา $9,389,479.79
ผลรวมทั้งหมด $26,054,827.45 $16,665,347.67

ตารางรายงานขั้นสุดท้ายแสดงผลลัพธ์เมื่อคุณสร้าง PivotTable โดยใช้หน่วยวัด NON USA Internet Sales เพิ่มเขตข้อมูล CalendarYear ลงใน พื้นที่ Row Labels (ป้ายชื่อ แถว) ของ PivotTable และเพิ่มเขตข้อมูล ProductCategoryName ไปยัง พื้นที่ Column Labels (ป้ายชื่อ คอลัมน์)

ตารางที่ 2 การเปรียบเทียบยอดขายนอกสหรัฐอเมริกาตามหมวดหมู่ผลิตภัณฑ์

ป้ายชื่อแถว อุปกรณ์ จักรยาน เสื้อผ้า ผลรวมทั้งหมด
2005 $1,526,481.95 $1,526,481.95
2006 $3,554,744.04 $3,554,744.04
2007 $156,480.18 $5,640,106.05 $70,142.77 $5,866,729.00
2008 $228,159.45 $5,386,558.19 $102,675.04 $5,717,392.68
ผลรวมทั้งหมด $384,639.63 $16,107,890.23 $172,817.81 $16,665,347.67
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

ฟังก์ชันตัวกรอง
ฟังก์ชัน ALL
ฟังก์ชัน ALLEXCEPT