Thep Excel

HASONEFILTER – ตรวจว่าคอลัมน์ถูกจำกัดโดยตรงให้เหลือค่าเดียวหรือไม่

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

=HASONEFILTER(<ColumnName>)

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
5/10

Difficulty
4/10

Usefulness
5/10

Syntax & Arguments

=HASONEFILTER(<ColumnName>)

Argument Type Required Default Description
ColumnName column Yes คอลัมน์ที่ต้องการตรวจว่าถูกจำกัดโดยตรงให้เหลือค่าเดียวหรือไม่

How it works

แสดงค่าเฉพาะเมื่อเลือกค่าเดียว

เช่น การ์ดที่ต้องการแสดงยอดของหมวดเดียวเท่านั้น ถ้าเลือกหลายหมวดให้แสดงค่าว่าง

ทำตรรกะการคำนวณที่ขึ้นกับการเลือก

เช่น เปลี่ยนข้อความ/ตัวชี้วัดเมื่อผู้ใช้เลือกค่าเดียว vs เลือกหลายค่า

Examples

ตัวอย่างที่ 1: แสดงยอดขายเฉพาะเมื่อเลือกหมวดเดียว
ยอดขาย (เลือกหมวดเดียวเท่านั้น) = IF( HASONEFILTER('Product'[Category]), [Sales Amount], BLANK() )
ใช้ HASONEFILTER เป็นเงื่อนไขควบคุมการแสดงผล
DAX Formula:

=ยอดขาย (เลือกหมวดเดียวเท่านั้น) =
IF(
    HASONEFILTER('Product'[Category]),
    [Sales Amount],
    BLANK()
)

Result:

ถ้าเลือก Category เดียวจะแสดงยอดขาย ถ้าเลือกหลายค่า/ไม่เลือกจะเป็นค่าว่าง

ตัวอย่างที่ 2: แสดงข้อความตามการเลือก (แนวคิด)
สถานะการเลือก = IF( HASONEFILTER('Customer'[CountryRegion]), "เลือกค่าเดียว", "เลือกหลายค่า/ไม่เลือก" )
เหมาะกับการทำ subtitle/ข้อความอธิบายบนรายงาน
DAX Formula:

สถานะการเลือก =
IF(
    HASONEFILTER('Customer'[CountryRegion]),
    "เลือกค่าเดียว",
    "เลือกหลายค่า/ไม่เลือก"
)

Result:

ข้อความบอกสถานะการเลือกของผู้ใช้

ตัวอย่างที่ 3: เปรียบเทียบกับ HASONEVALUE (แนวคิด)
แนวคิด: HASONEFILTER ตรวจ direct filter ส่วน HASONEVALUE ตรวจจำนวนค่าที่เหลือในบริบท (อาจได้รับอิทธิพลจากความสัมพันธ์)
ถ้าต้องการเช็ค “ผู้ใช้เลือกค่าเดียว” มักเริ่มจาก HASONEFILTER; ถ้าต้องการเช็ค “บริบทเหลือค่าเดียว” อาจดู HASONEVALUE/SELECTEDVALUE
DAX Formula:

=แนวคิด: HASONEFILTER ตรวจ direct filter
ส่วน HASONEVALUE ตรวจจำนวนค่าที่เหลือในบริบท (อาจได้รับอิทธิพลจากความสัมพันธ์)

Result:

ช่วยเลือกใช้ฟังก์ชันให้เหมาะกับเจตนา

FAQs

HASONEFILTER ต่างจาก HASONEVALUE อย่างไร?

HASONEFILTER เน้นตรวจการจำกัดโดยตรงที่คอลัมน์นั้น ส่วน HASONEVALUE เน้นตรวจว่าบริบทสุดท้ายเหลือค่าเดียวหรือไม่ ซึ่งอาจได้รับผลจากความสัมพันธ์/การคำนวณอื่น

ถ้าต้องการดึงค่าที่เลือกออกมาใช้ ควรใช้ฟังก์ชันไหน?

มักใช้ SELECTEDVALUE เพื่อดึงค่าที่เลือก (ถ้าเลือกค่าเดียว) และใส่ค่าดีฟอลต์ได้

Resources & Related

Additional Notes

HASONEFILTER คืนค่า TRUE เมื่อคอลัมน์ที่ระบุถูก “จำกัดโดยตรง” ให้เหลือค่าเดียวในบริบทปัจจุบัน มักใช้ทำเงื่อนไขใน IF เพื่อควบคุมการแสดงผล/คำนวณ เช่น ให้แสดงค่าเฉพาะเมื่อผู้ใช้เลือกค่าเดียวใน slicer

Leave a Reply

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