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