ตัวอย่างที่ 1: ยอดขายรวมทั้งหมด (ไม่สน Filter)
All Sales = CALCULATE( [Total Sales], REMOVEFILTERS() )
ยอดขายรวมทุก Transaction ใน Model
ลบ Filter (ชัดเจนกว่า ALL, ใช้ใน CALCULATE เท่านั้น)
REMOVEFILTERS ลบ Filter ออกจากตารางหรือคอลัมน์ที่ระบุ ใช้ได้ใน CALCULATE เท่านั้น (ไม่ใช่ Table Function) เทียบเท่า ALL เมื่อใช้เป็น CALCULATE Modifier แต่ชัดเจนและอ่านโค้ดง่ายกว่า แนะนำให้ใช้แทน ALL เมื่อต้องการลบ Filter ไม่มีเวอร์ชันที่ทำงานเหมือน ALLSELECTED
=REMOVEFILTERS([Table | Column[, Column[, ...]]])
=REMOVEFILTERS([Table | Column[, Column[, ...]]])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Table หรือ Column | table/column | Optional | ตารางหรือคอลัมน์ที่ต้องการลบตัวกรอง (หากไม่ระบุ จะหมายถึงลบตัวกรองทั้งหมด) |
ใช้เพื่อหาตัวหารที่เป็นยอดรวมทั้งหมด ที่ไม่ถูกกรอง
หาส่วนเบี่ยงเบนจากค่าเฉลี่ยที่ไม่ถูกกรอง
All Sales = CALCULATE( [Total Sales], REMOVEFILTERS() )
ยอดขายรวมทุก Transaction ใน Model
Sales All Colors = CALCULATE( [Total Sales], REMOVEFILTERS('Product'[Color]) )
ยอดขายที่ถูกกรองตาม Filter อื่นๆ แต่ไม่ถูกกรองตามสี
% GT = DIVIDE( [Total Sales], CALCULATE( [Total Sales], REMOVEFILTERS() ) )
สัดส่วนยอดขายเป็น %
เมื่อใช้ใน CALCULATE ทำงานเหมือนกันทุกประการ แต่ REMOVEFILTERS ชัดเจนกว่าว่าเป็นการลบ Filter เท่านั้น ไม่มีความหมายซ้ำซ้อนแบบ ALL (ที่เป็นได้ทั้ง Table Function และ Modifier) ทำให้โค้ดอ่านง่ายกว่า
ไม่ได้ REMOVEFILTERS ใช้ได้ใน CALCULATE เท่านั้น ถ้าต้องการตารางจริง ต้องใช้ ALL แทน
ไม่มี REMOVEFILTERS ทำงานเหมือน ALL (ลบ Filter ทั้งหมด) ไม่มีฟังก์ชันชัดเจนที่ทำงานเหมือน ALLSELECTED (ลบ Filter ใน Visual แต่คง Slicer) ต้องใช้ ALLSELECTED เท่านั้น
แนะนำใช้ REMOVEFILTERS เมื่อต้องการลบ Filter ใน CALCULATE เพราะชัดเจนกว่า ใช้ ALL เมื่อต้องการตารางจริง (Table Function) หรือเมื่อทำงานกับโค้ดเก่าที่ใช้ ALL อยู่แล้ว
REMOVEFILTERS(FactTable) จะลบ Filter จากทั้ง Fact Table และ Dimension Tables ที่เชื่อมผ่าน Relationship เหมือน ALL ถ้าต้องการควบคุมแม่นยำ ให้ระบุคอลัมน์ชัดเจน
REMOVEFILTERS เป็นฟังก์ชันที่ทำหน้าที่ ลบตัวกรอง (Remove Filters) ออกจากตารางหรือคอลัมน์ที่ระบุ ใช้ได้ใน CALCULATE เท่านั้น ไม่สามารถใช้เป็น Table Function ได้
REMOVEFILTERS เทียบเท่ากับ ALL เมื่อใช้เป็น CALCULATE Modifier แต่ ชัดเจนและอ่านโค้ดง่ายกว่า เพราะไม่มีความหมายซ้ำซ้อนแบบ ALL (ที่เป็นได้ทั้ง Table Function และ CALCULATE Modifier)
หมายเหตุ: ไม่มี REMOVEFILTERS เวอร์ชันที่ทำงานเหมือน ALLSELECTED (ลบ Filter ใน Visual แต่คง Slicer) ต้องใช้ ALLSELECTED เท่านั้น