คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ข้อมูลตัวกรอง › ISFILTERED

ISFILTERED

DAX · Power BIข้อมูลตัวกรองระดับกลางแบบ 6 · ไม่มีใน Excel ใช้วิธีอื่นแทน

อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: ISFILTERED (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

ISFILTERED คืออะไร

ตรวจว่ามีตัวกรองโดยตรงบนคอลัมน์หรือตารางนั้นหรือไม่ ได้ TRUE หรือ FALSE ใช้เปลี่ยนสิ่งที่แสดงตามสิ่งที่ผู้ใช้เลือก

ใช้เมื่อไหร่

  • แสดงข้อความหรือค่าต่างกันเมื่อผู้ใช้เลือก Slicer
  • ซ่อนค่าในแถวยอดรวมเมื่อคอลัมน์นั้นไม่ได้ถูกกรอง

รูปแบบสูตร

=ISFILTERED(<TableNameOrColumnName>)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
TableNameOrColumnNameจำเป็นชื่อคอลัมน์หรือชื่อตาราง ใส่นิพจน์ไม่ได้

ลองเลย: รู้ว่าช่องนี้ถูกกรองด้วยอะไรบ้าง

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[สถานะตัวกรองภาค] = IF(ISFILTERED('พนักงานขาย'[ภูมิภาค]), "กรองภาค", "ทุกภาค")
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
รู้ว่าช่องนี้ถูกกรองด้วยอะไรบ้าง
รู้ว่าช่องนี้ถูกกรองด้วยอะไรบ้าง · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคยอดขายสถานะตัวกรองช่องทางสถานะตัวกรองภาค
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
ทุกช่องทางสถานะตัวกรองช่องทาง · กลาง · 2025
ดูทีละขั้นขั้น 4 / 4

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=IF(ช่องเลือกช่องทาง="", "ทุกช่องทาง", "กรองช่องทาง")

Excel ดูจากช่องที่ผู้ใช้เลือกเอง

DAXสถานะตัวกรองช่องทาง = IF(ISFILTERED('ยอดขาย'[ช่องทาง]), "กรองช่องทาง", "ทุกช่องทาง")

ตัวกรองบนตารางอื่นที่ไหลมาตามความสัมพันธ์ไม่นับ

ข้อผิดพลาดและเคล็ดลับ

ISFILTERED('ยอดขาย'[ช่องทาง]) เป็น FALSE แม้ตัวกรองภาคทำให้เหลือบางช่องทาง เพราะนับเฉพาะตัวกรองบนคอลัมน์นั้นโดยตรง ใช้ ISCROSSFILTERED ถ้าต้องการนับตัวกรองที่ไหลมา
ต่างจาก HASONEVALUE ที่ดูว่าเหลือค่าเดียว ISFILTERED ดูว่ามีตัวกรองหรือไม่ แม้เลือกหลายค่า
ใช้ทำหัวข้อ visual เช่น แสดงคำว่า ทุกช่องทาง เมื่อผู้ใช้ไม่ได้เลือกอะไรใน Slicer

แบบทดสอบ 3 ข้อ

1. ISFILTERED('ยอดขาย'[ช่องทาง]) ในแถวยอดรวมเมื่อเลือก Slicer ช่องทาง Online ได้อะไร

2. ISFILTERED ต่างจาก ISCROSSFILTERED อย่างไร

3. ต้องการรู้ว่าตัวกรองเหลือค่าเดียวหรือไม่ ควรใช้อะไร

ไฟล์ฝึก ISFILTERED

9Expert-DAX-ISFILTERED-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[สถานะตัวกรองช่องทาง] ข้อความบอกว่ามีการเลือกช่องทางหรือไม่ · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[สถานะตัวกรองช่องทาง] ข้อความบอกว่ามีการเลือกช่องทางหรือไม่ · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[สถานะตัวกรองภาค] ข้อความบอกว่าช่องนี้ถูกกรองด้วยภาคหรือไม่ · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร