Thep Excel

ALL – ล้างตัวกรองทั้งหมด (Ignore Filters)

ฟังก์ชันพฤติกรรมคู่: คืนตารางเต็ม หรือลบ Filter (ขึ้นบริบท)

ALL มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงที่มีแถวทั้งหมด ใช้ใน FILTER/COUNTROWS (2) CALCULATE Modifier – ลบตัวกรองออกจาก Filter Context ไม่ได้คืนตาราง ใช้คำนวณ Grand Total และ % สัดส่วน แนะนำใช้ REMOVEFILTERS แทนเพื่อความชัดเจน

=ALL( [Table | Column1, Column2, ...] )

By ThepExcel AI Agent
1 December 2025

Syntax & Arguments

=ALL( [Table | Column1, Column2, ...] )

Argument Type Required Default Description
Table หรือ Column table/column Yes ตารางหรือคอลัมน์ที่ต้องการล้างตัวกรองและดึงข้อมูลทั้งหมดออกมา

How it works

Table Function: ใช้ใน FILTER เพื่อวนลูปทุกแถว

ใช้ ALL ส่งคืนตารางจริงเพื่อวนลูปทุกแถวโดยไม่สน Filter ภายนอก มักใช้ร่วมกับ FILTER, COUNTROWS, SUMMARIZE

CALCULATE Modifier: คำนวณ % of Grand Total

ใช้ ALL ภายใน CALCULATE เพื่อลบ Filter และหาตัวหารที่เป็นยอดรวมทั้งหมด (Grand Total) โดยไม่คืนค่าตาราง

CALCULATE Modifier: ล้าง Filter บางคอลัมน์

ระบุชื่อคอลัมน์เฉพาะใน ALL เพื่อลบ Filter แค่บางส่วน แต่ยังคง Filter อื่นไว้ (แนะนำใช้ REMOVEFILTERS แทนเพื่อความชัดเจน)

Examples

ตัวอย่างที่ 1: Table Function – กรองสินค้าสีแดง (รวมทั้งไซส์ที่ไม่ถูกกรอง)

ALL(Product[Color]) คืนตารางจริงที่มีทุกสี เพื่อให้ FILTER วนลูปและเลือกเฉพาะสีแดง ผลลัพธ์จะรวมทุก Size ที่เป็นสีแดง แม้ว่าจะมี Slicer กรอง Size อยู่
DAX Formula:

Red Sales Extended = 
CALCULATE(
    [Sales Amount],
    FILTER(
        ALL( Product[Color] ),
        Product[Color] = "Red"
    )
)

Result:

ยอดขายสินค้าสีแดงทั้งหมด (รวมทุก Size)

ตัวอย่างที่ 2: CALCULATE Modifier – หายอดขายรวมทั้งบริษัท

ALL(Sales) ทำหน้าที่ลบ Filter ทั้งหมดออกจาก Sales ภายใน CALCULATE ไม่ได้คืนค่าตาราง ไม่ว่า Slicer จะเลือกอะไร ผลลัพธ์จะเป็น Grand Total เสมอ
DAX Formula:

All Sales = 
CALCULATE(
    SUM(Sales[Amount]),
    ALL(Sales)
)

Result:

ยอดขายรวมทุก Transaction (Grand Total)

ตัวอย่างที่ 3: CALCULATE Modifier – คำนวณ % ยอดขาย

ตัวตั้งคือยอดขายตาม Filter ปัจจุบัน ตัวหารใช้ ALL(Product[Color]) เพื่อลบ Filter สี และหายอดขายรวมทุกสี (แต่ Filter ปี/ภูมิภาคยังอยู่)
DAX Formula:

% Over All Colors = 
DIVIDE(
    [Sales Amount],
    CALCULATE(
        [Sales Amount],
        ALL( Product[Color] )
    )
)

Result:

สัดส่วน % เทียบกับทุกสี (เช่น 25%)

ตัวอย่างที่ 4: Table Function – นับจำนวนสีทั้งหมด

ALL(Product[Color]) คืนตารางที่มีทุกสี COUNTROWS นับจำนวนแถวในตารางนั้น ผลลัพธ์ไม่เปลี่ยนตาม Filter ใดๆ
DAX Formula:

Total Colors = 
COUNTROWS(
    ALL( Product[Color] )
)

Result:

จำนวนสีทั้งหมดในตาราง (เช่น 8)

FAQs

พฤติกรรมของ ALL แตกต่างกันอย่างไรระหว่าง Table Function และ CALCULATE Modifier?

เมื่อใช้นอก CALCULATE (เช่น ใน FILTER, COUNTROWS) ALL จะคืนตารางจริงที่มีทุกแถว แต่เมื่อใช้ใน CALCULATE มันจะไม่คืนตาราง แต่ทำหน้าที่ลบ Filter ออกจาก Filter Context แทน

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

ALL ลบ Filter ทั้งหมด (ได้ Grand Total แท้จริง) ส่วน ALLSELECTED ลบ Filter ภายใน Visual เท่านั้น แต่ยังเคารพ Filter จาก Slicer/Page Filter (ได้ Visual Total)

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

ทำงานเหมือนกันเมื่อใช้เป็น CALCULATE Modifier แต่ REMOVEFILTERS ชัดเจนกว่าว่าเป็นการลบ Filter เท่านั้น ไม่ใช่ Table Function ดังนั้นแนะนำใช้ REMOVEFILTERS แทนเพื่อความชัดเจนของโค้ด

ทำไมต้องระวังเรื่อง Expanded Table?

เมื่อใช้ ALL(FactTable) จะมีผลกับ Dimension ทุกตารางที่เชื่อมผ่าน Relationship ด้วย ตัวอย่าง: ALL(Sales) จะลบ Filter ทั้ง Date, Product, Customer ทำให้ได้ Grand Total แท้จริง

Resources & Related

Additional Notes

ALL คือฟังก์ชันที่มี 2 พฤติกรรมแตกต่างกัน ขึ้นอยู่กับบริบทการใช้งาน:

1. Table Function (ใช้นอก CALCULATE)

คืนค่า ตารางจริง ที่มีแถวทั้งหมดในตารางหรือค่าทั้งหมดในคอลัมน์ โดยไม่สนตัวกรองใดๆ มักใช้ใน FILTER, COUNTROWS, SUMMARIZE เป็นต้น

2. CALCULATE Modifier (ใช้ภายใน CALCULATE)

ทำหน้าที่ ลบตัวกรอง (Remove Filters) ออกจากตารางหรือคอลัมน์ที่ระบุ ไม่ได้คืนค่าตาราง แต่แก้ไข Filter Context ให้ CALCULATE แทน มักใช้คำนวณ Grand Total หรือหา % สัดส่วน

หมายเหตุ: แนะนำใช้ REMOVEFILTERS แทน ALL เมื่อต้องการลบตัวกรอง เพราะชัดเจนกว่าและอ่านโค้ดง่ายกว่า

Leave a Reply

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