Thep Excel

ISFILTERED – ฟังก์ชัน DAX

ISFILTERED ตรวจสอบว่ามีตัวกรอง (Direct Filter) ที่ใช้โดยตรงกับคอลัมน์ที่ระบุหรือไม่ ใช้เพื่อสร้างลอจิกแบบมีเงื่อนไข (Conditional Logic) ในหน่วยวัด ตัวอย่างเช่น แสดงข้อความแตกต่างเมื่อผู้ใช้กรองตามสี ปีงบประมาณ หรือสาขา หรือคำนวณวิธีต่างกันขึ้นอยู่กับว่าคอลัมน์ใดถูกกรอง

=ISFILTERED(<ColumnName>)

By ThepExcel AI Agent
15 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

=ISFILTERED(<ColumnName>)

Argument Type Required Default Description
ColumnName column reference Yes ไม่มี – จำเป็นต้องระบุ คอลัมน์ที่ต้องการตรวจสอบว่ามีตัวกรองโดยตรงหรือไม่ เช่น Product[Color], Date[Year], Territory[Region]

Examples

ตรวจสอบว่า Color ถูกกรองหรือไม่
ISFILTERED(Product[Color])
ส่งค่า TRUE เมื่อผู้ใช้กรองตามสีสินค้า (ตัวกรองโดยตรง) เช่น Color = "Red" ถ้าไม่มีการกรองตามสี จะส่งค่า FALSE
DAX Formula:

=ISFILTERED(Product[Color])

Result:

TRUE (ถ้าผู้ใช้กรองตามสี) หรือ FALSE (ถ้าไม่มีการกรอง)

แสดงข้อความตามการกรอง
IF(ISFILTERED(Date[Year]), "Filtered by Year: " & MAX(Date[Year]), "All Years")
ใช้ IF เพื่อแสดงข้อความแตกต่างกัน ถ้า Year ถูกกรองจะบอกว่า Filtered by ปีไหน ถ้าไม่กรองจะแสดง "All Years"
DAX Formula:

=IF(ISFILTERED(Date[Year]), "Filtered by Year: " & MAX(Date[Year]), "All Years")

Result:

"Filtered by Year: 2024" (ถ้ากรองตามปี) หรือ "All Years" (ถ้าไม่กรอง)

คำนวณแตกต่างตามการกรอง
IF(ISFILTERED(Territory[Region]), [Sales], CALCULATE([Sales], ALL(Territory[Region])))
ถ้า Region ถูกกรอง ให้แสดงยอดขายของภูมิภาคนั้นเท่านั้น ถ้าไม่กรอง ให้แสดงยอดขายทั้งหมด (ด้วย ALL) นี่ช่วยในการสร้าง Dynamic Calculations
DAX Formula:

=IF(ISFILTERED(Territory[Region]), [Sales], CALCULATE([Sales], ALL(Territory[Region])))

Result:

ยอดขายของภูมิภาคที่กรอง (ถ้ากรอง) หรือยอดขายทั้งหมด (ถ้าไม่กรอง)

FAQs

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

ISFILTERED ตรวจสอบว่าคอลัมน์ถูกกรองโดยตรง (Direct Filter) หรือไม่ เช่นผู้ใช้คลิกเลือกค่า ส่วน ISCROSSFILTERED ตรวจสอบว่าตารางถูกกรองทางอ้อม (Cross Filter) หรือไม่ เช่นกรองมาจากตารางที่เกี่ยวข้อง

สามารถใช้ ISFILTERED ในคอลัมน์ที่คำนวณได้ไหม

ไม่ได้ ISFILTERED ใช้เฉพาะใน Measures เท่านั้น เพราะ Calculated Column ทำงานใน Row Context ที่ไม่มี Filter Context ถ้าใช้ใน Calculated Column จะเกิด Error หรือให้ผลไม่ถูกต้อง

ถ้า ISFILTERED ส่งค่า FALSE หมายความว่าอะไร

หมายความว่าไม่มีตัวกรองโดยตรง (Direct Filter) ที่ใช้กับคอลัมน์นั้น อาจมี Cross Filter จากตารางอื่นอยู่ก็ได้ ถ้าต้องการตรวจสอบทั้งสอง ให้ใช้ ISCROSSFILTERED หรือ HASONEVALUE ด้วย

ใช้ ISFILTERED เพื่ออะไรในการแสดงผล Dashboard

ใช้เพื่อสร้าง Dynamic Content ที่เปลี่ยนแปลงตามการกรองของผู้ใช้ เช่น ซ่อน/แสดง Element, เปลี่ยนข้อความ, หรือเปลี่ยนแบบสูตร ตัวอย่างเช่น แสดง “Analyzing Q4 only” เมื่อผู้ใช้กรองตามไตรมาส

Resources & Related

Additional Notes

ISFILTERED

Leave a Reply

Your email address will not be published. Required fields are marked *