Thep Excel

REMOVEFILTERS – ลบตัวกรองออกจากตาราง/คอลัมน์

REMOVEFILTERS ลบ Filter ออกจากตารางหรือคอลัมน์ที่ระบุ ใช้ได้ใน CALCULATE เท่านั้น เทียบเท่า ALL เมื่อใช้เป็น CALCULATE Modifier แต่ชัดเจนและอ่านโค้ดง่ายกว่า แนะนำใช้แทน ALL เพราะสื่อความหมายได้ดีกว่า

=REMOVEFILTERS([table_or_column], [column], [column])

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
7/10

Difficulty
5/10

Usefulness
7/10

Syntax & Arguments

=REMOVEFILTERS([table_or_column], [column], [column])

Argument Type Required Default Description
table_or_column Table/Column Optional ลบตัวกรองทั้งหมด ตารางหรือคอลัมน์ที่ต้องการลบตัวกรอง หากไม่ระบุ จะลบตัวกรองทั้งหมด
column Column Optional คอลัมน์เพิ่มเติมจากตารางเดียวกัน (ทำได้หลายคอลัมน์) ใช้เมื่อต้องการลบ Filter จากคอลัมน์เฉพาะ

How it works

คำนวณ % เทียบกับ Grand Total

ใช้เพื่อหาตัวหารที่เป็นยอดรวมทั้งหมด ที่ไม่ถูกกรอง

เทียบยอดขายกับค่าเฉลี่ยทั้งหมด

หาส่วนเบี่ยงเบนจากค่าเฉลี่ยที่ไม่ถูกกรอง

Examples

ยอดขายรวมทั้งหมด ไม่สนใจ Filter ใดๆ
Grand Total Sales = CALCULATE( SUM(Sales[Amount]), REMOVEFILTERS() )
REMOVEFILTERS() ไม่มี Argument จะลบตัวกรองทั้งหมด ยอดขายรวมทั้ง Model ไม่ว่าผู้ใช้เลือก Filter อะไรก็ตาม
DAX Formula:

Grand Total Sales =
CALCULATE(
    SUM(Sales[Amount]),
    REMOVEFILTERS()
)

Result:

10,500,000 (ทั้งหมดโดยไม่สนใจ Filter ที่เลือก)

ยอดขายสำหรับสีทั้งหมด (คงตัวกรองอื่นไว้)
Sales All Colors = CALCULATE( SUM(Sales[Amount]), REMOVEFILTERS(Products[Color]) )
ลบตัวกรองเฉพาะจากคอลัมน์ Products[Color] เท่านั้น ตัวกรอง Brand และตัวกรองอื่นๆ ยังคงอยู่
DAX Formula:

Sales All Colors =
CALCULATE(
    SUM(Sales[Amount]),
    REMOVEFILTERS(Products[Color])
)

Result:

8,200,000 (ถ้า Brand='Samsung' ถูกเลือก)

เปอร์เซ็นต์ยอดขายเทียบกับยอดรวม (% of Grand Total)
Pct of Total = VAR CurrentSales = SUM(Sales[Amount]) VAR GrandTotal = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS()) RETURN DIVIDE(CurrentSales, GrandTotal, 0)
เก็บยอดขายปัจจุบันใน CurrentSales และยอดรวมทั้งหมด (โดยลบ Filter) ใน GrandTotal แล้วหารเพื่อได้สัดส่วน
DAX Formula:

Pct of Total =
VAR CurrentSales = SUM(Sales[Amount])
VAR GrandTotal = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS())
RETURN
    DIVIDE(CurrentSales, GrandTotal, 0)

Result:

0.25 (หรือ 25%)

ลบ Filter จากหลายคอลัมน์พร้อมกัน
Sales No Brand No Color = CALCULATE( SUM(Sales[Amount]), REMOVEFILTERS(Products[Brand], Products[Color]) )
ระบุหลายคอลัมน์ได้โดยคั่นด้วยจุลภาค ลบตัวกรองจาก Brand และ Color พร้อมกัน แต่ตัวกรอง Category ยังอยู่
DAX Formula:

Sales No Brand No Color =
CALCULATE(
    SUM(Sales[Amount]),
    REMOVEFILTERS(Products[Brand], Products[Color])
)

Result:

9,100,000 (ลบ Brand และ Color แต่คง Category)

ลบ Filter จากตารางทั้งหมด (Expanded Table)
Sales Any Product = CALCULATE( SUM(Sales[Amount]), REMOVEFILTERS(Products) )
ระบุชื่อตาราง Products จะลบ Filter จากทุกคอลัมน์ของตาราง และจาก Dimension Table ที่เชื่อมผ่าน Relationship
DAX Formula:

Sales Any Product =
CALCULATE(
    SUM(Sales[Amount]),
    REMOVEFILTERS(Products)
)

Result:

10,500,000 (ลบทั้ง Color, Brand, Category)

FAQs

REMOVEFILTERS ต่างจาก ALL อย่างไร?

เมื่อใช้ใน CALCULATE ทั้งสองทำงานเหมือนกันทุกประการ แต่ REMOVEFILTERS ชัดเจนกว่าในเรื่องความหมาย – มันบอกตรงๆ ว่า “ลบตัวกรอง” ไม่เหมือน ALL ที่มีความหมายซ้ำซ้อน (เป็นได้ทั้ง Table Function และ CALCULATE Modifier) เหตุนี้แนะนำใช้ REMOVEFILTERS เพราะโค้ดอ่านง่าย Intent ชัดเจน

REMOVEFILTERS ใช้เป็น Table Function ได้ไหม?

ไม่ได้ REMOVEFILTERS ใช้ได้ใน CALCULATE เท่านั้น (CALCULATE Modifier) ถ้าต้องการตารางจริงต้องใช้ ALL เช่น SELECTCOLUMNS(ALL(Products), …) ตัวอย่าง: ALL(Products) คืนตารางค่าทั้งหมด แต่ REMOVEFILTERS() ใช้ในตัว CALCULATE เท่านั้น

มี REMOVEFILTERS เวอร์ชันที่ทำงานเหมือน ALLSELECTED ไหม?

ไม่มี REMOVEFILTERS ทำงานเหมือน ALL (ลบตัวกรองทั้งหมด) ไม่มีฟังก์ชันชัดเจนแบบ REMOVEFILTERS ที่ทำงานเหมือน ALLSELECTED (ลบตัวกรองใน Visual แต่คง Slicer) ถ้าต้องการฟังก์ชันนั้น ต้องใช้ ALLSELECTED เท่านั้น

REMOVEFILTERS(table) กับ REMOVEFILTERS(column) ต่างกันไหม?

REMOVEFILTERS(Products) ลบตัวกรองจากทั้งตาราง Products และ Dimension Table ที่เชื่อมผ่าน Relationship (เรียก Expanded Table) ส่วน REMOVEFILTERS(Products[Color]) ลบเฉพาะตัวกรองจากคอลัมน์ Products[Color] เท่านั้น

ต้องระวังเรื่องอะไรกับ REMOVEFILTERS?

ระวัง Expanded Table – เมื่อ REMOVEFILTERS(FactTable) มันจะลบตัวกรองจากทั้ง Fact Table และ Dimension Tables ที่เชื่อมผ่าน Relationship แบบ many-to-one ถ้าต้องการลบเฉพาะบางคอลัมน์ ให้ระบุคอลัมน์ชัดเจน เช่น REMOVEFILTERS(Sales[ProductKey]) ส่วนตัวกรองอื่นจะคงอยู่

Resources & Related

Additional Notes

REMOVEFILTERS เป็นฟังก์ชันที่ทำหน้าที่ลบตัวกรอง (Remove Filters) ออกจากตารางหรือคอลัมน์ที่ระบุในตัว CALCULATE

ส่วนตัวผมชอบ REMOVEFILTERS มากกว่า ALL เพราะมันบอกเจาะจงตรงๆ ว่า “ลบตัวกรอง” ไม่เหมือน ALL ที่มีความหมายซ้ำซ้อน (ยังเป็นได้ทั้ง Table Function และ Modifier) ทำให้โค้ดอ่านง่ายและ Intent ชัดเจนมากขึ้น 😎

ข้อสำคัญ: REMOVEFILTERS ใช้ได้ใน CALCULATE เท่านั้น ถ้าต้องการตารางจริง (Table Function) ต้องใช้ ALL แทน

Leave a Reply

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