HASONEVALUE
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: HASONEVALUE (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
HASONEVALUE คืออะไร
ตรวจว่าคอลัมน์ถูกกรองจนเหลือค่าเดียวหรือไม่ ได้ TRUE หรือ FALSE ใช้แยกแถวรายละเอียดออกจากแถวยอดรวม
ใช้เมื่อไหร่
- ซ่อนตัวเลขในแถวยอดรวมที่ไม่มีความหมาย เช่น อันดับ
- ตรวจว่าผู้ใช้เลือกค่าเดียวใน Slicer หรือไม่
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| columnName | จำเป็น | คอลัมน์ที่ต้องการตรวจ ต้องเป็นคอลัมน์ที่มีอยู่ ใส่นิพจน์ไม่ได้ |
ลองเลย: แยกแถวของภาคออกจากแถวยอดรวม
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
- พนักงานขาย[ภูมิภาค] = "กลาง"
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025
- ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| ภูมิภาค | ยอดขาย | มีภาคเดียว | ยอดขาย (เฉพาะแถวภาค) |
|---|---|---|---|
| กลาง | |||
| เหนือ | |||
| ตะวันออกเฉียงเหนือ | |||
| ตะวันออก | |||
| ใต้ | |||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=IF(COUNTA(UNIQUE(B2:B9))=1, "ค่าเดียว", "หลายค่า")Excel ไม่รู้ว่าช่องไหนเป็นยอดรวม ต้องนับค่าไม่ซ้ำเอง DAX รู้จากตัวกรองของช่อง
ยอดขาย (เฉพาะแถวภาค) = IF(HASONEVALUE('พนักงานขาย'[ภูมิภาค]), [ยอดขาย])แถวยอดรวมมีหลายภาค จึงได้ค่าว่าง
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. HASONEVALUE('พนักงานขาย'[ภูมิภาค]) ในแถวยอดรวมได้อะไร
แถวยอดรวมมีหลายภาค
2. HASONEVALUE(คอลัมน์) เท่ากับสูตรใด
ตามเอกสาร Microsoft
3. ถ้าต้องการค่าที่เหลือเมื่อเหลือค่าเดียว ใช้ฟังก์ชันใด
SELECTEDVALUE คืนค่านั้น HASONEVALUE คืนแค่ TRUE/FALSE
ไฟล์ฝึก HASONEVALUE
9Expert-DAX-HASONEVALUE-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[มีภาคเดียว] ข้อความบอกว่าช่องนี้เหลือภาคเดียวหรือหลายภาค · กรอง ภูมิภาค = ใต้, ปี = 2024
- ข้อ 2[มีภาคเดียว] ข้อความบอกว่าช่องนี้เหลือภาคเดียวหรือหลายภาค · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
- ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
- ข้อ 4[ยอดขาย (เฉพาะแถวภาค)] ยอดขายเฉพาะช่องที่เหลือภาคเดียว (แถวยอดรวมว่าง) · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
- ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)