Thep Excel

ALLSELECTED – ล้างตัวกรองโดยคง Slicer ไว้ (Visual Total)

พฤติกรรมคู่: คืนตารางตาม Slicer หรือลบ Filter ใน Visual (ไม่มี REMOVEFILTERS คู่)

ALLSELECTED มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงตาม Shadow Filter Context (Slicer/Page Filter) (2) CALCULATE Modifier – ลบ Filter ภายใน Visual แต่คง Filter จากภายนอก เหมาะคำนวณ Visual Total และ % สัดส่วนใน Visual ไม่มี REMOVEFILTERS เวอร์ชันที่ทำงานเหมือน ALLSELECTED

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

By ThepExcel AI Agent
1 December 2025

Syntax & Arguments

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

Argument Type Required Default Description
Table หรือ Column table/column Optional ตารางหรือคอลัมน์ที่ต้องการล้างตัวกรอง (ถ้าไม่ระบุจะหมายถึงตารางที่เกี่ยวข้องทั้งหมดใน Context)

How it works

Table Function: ใช้ใน FILTER ตาม Shadow Context

ใช้ ALLSELECTED ส่งคืนตารางที่มีแถวตาม Filter จาก Slicer/Page Filter โดยไม่สน Filter ภายใน Visual มักใช้ร่วมกับ FILTER, COUNTROWS

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

ใช้ ALLSELECTED ภายใน CALCULATE เพื่อลบ Filter ภายใน Visual แต่คง Slicer ไว้ หา % เทียบกับยอดรวมที่เลือก (Visual Total)

CALCULATE Modifier: สร้างเส้น Benchmark แบบ Dynamic

สร้างเส้น Constant Line ในกราฟที่ขยับตาม Slicer แต่ไม่ขยับตามแกน X ใช้ ALLSELECTED เพื่อลบ Filter จากแกน

Examples

ตัวอย่างที่ 1: CALCULATE Modifier – ยอดขายรวมของสิ่งที่เลือก

ALLSELECTED(Sales) ลบ Filter ภายใน Visual แต่คง Filter จาก Slicer ไว้ สมมติเลือก Slicer ปี 2023 และสินค้า A, B จะได้ยอดรวม A+B ในปี 2023 (ALL จะได้ทุกปีทุกสินค้า)
DAX Formula:

Selected Total = 
CALCULATE(
    SUM(Sales[Amount]),
    ALLSELECTED(Sales)
)

Result:

ยอดขายรวมตาม Slicer (Visual Total)

ตัวอย่างที่ 2: CALCULATE Modifier – % Share เทียบกับสิ่งที่เลือก

ALLSELECTED() ลบ Filter ทุกคอลัมน์ใน Visual แต่คง Slicer ไว้ ถ้าเลือกดู 3 เดือน แต่ละเดือนจะแสดง % เทียบกับยอดรวม 3 เดือน (รวมได้ 100%)
DAX Formula:

% of Selected = 
DIVIDE(
    SUM(Sales[Amount]),
    CALCULATE(
        SUM(Sales[Amount]),
        ALLSELECTED()
    )
)

Result:

สัดส่วน % เทียบกับ Visual Total

ตัวอย่างที่ 3: Table Function – นับจำนวนสินค้าที่เลือก

ALLSELECTED(Product[ProductKey]) คืนตารางจริงที่มีสินค้าตาม Slicer/Page Filter COUNTROWS นับจำนวนแถว ผลลัพธ์เปลี่ยนตาม Slicer
DAX Formula:

Selected Products = 
COUNTROWS(
    ALLSELECTED( Product[ProductKey] )
)

Result:

จำนวนสินค้าตาม Slicer (เช่น 15)

ตัวอย่างที่ 4: Table Function + CALCULATE Modifier – Pareto Chart

ตัวตั้ง: ALLSELECTED ใน FILTER คืนตารางตาม Slicer ตัวหาร: ALLSELECTED ใน CALCULATE ลบ Filter คำนวณ % สะสมเทียบกับสินค้าที่เลือกเท่านั้น
DAX Formula:

Pareto % = 
DIVIDE(
    CALCULATE(
        SUM(Sales[Amount]),
        FILTER(
            ALLSELECTED(Product),
            [Sales Amount] >= [Sales Amount]
        )
    ),
    CALCULATE(
        SUM(Sales[Amount]),
        ALLSELECTED(Product)
    )
)

Result:

% ยอดขายสะสม

FAQs

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

เมื่อใช้นอก CALCULATE (เช่น ใน FILTER, COUNTROWS) ALLSELECTED จะคืนตารางจริงตาม Shadow Filter Context (Slicer/Page Filter) แต่เมื่อใช้ใน CALCULATE มันจะไม่คืนตาราง แต่ทำหน้าที่ลบ Filter ภายใน Visual แต่คง Filter จากภายนอกไว้

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

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

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

ไม่มี REMOVEFILTERS ทำงานเหมือน ALL เมื่อใช้เป็น CALCULATE Modifier (ลบ Filter ทั้งหมด) ไม่มีฟังก์ชันที่ชัดเจนกว่าสำหรับพฤติกรรมแบบ ALLSELECTED ต้องใช้ ALLSELECTED เท่านั้น

Shadow Filter Context คืออะไร?

เป็น Filter Context ที่ถูกเก็บไว้ตอน Visual ยังไม่ถูกแสดง ประกอบด้วย Filter จาก Slicer และ Page Filter ALLSELECTED ใช้ Shadow Filter Context นี้แทนที่จะใช้ Filter Context ปัจจุบัน

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

เมื่อใช้ ALLSELECTED(FactTable) จะมีผลกับ Dimension ทุกตารางที่เชื่อมผ่าน Relationship ด้วย เหมือนกับ ALL ถ้าต้องการลบ Filter เฉพาะบางคอลัมน์ ให้ระบุคอลัมน์ชัดเจน

Resources & Related

Additional Notes

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

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

คืนค่า ตารางจริง ที่มีแถวตาม Shadow Filter Context (Filter จาก Slicer/Page Filter) โดยไม่สน Filter ภายใน Visual มักใช้ใน FILTER, COUNTROWS

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

ทำหน้าที่ ลบตัวกรองภายใน Visual แต่ยังคง Filter จากภายนอก (Slicer) ไว้ ไม่ได้คืนค่าตาราง แต่แก้ไข Filter Context ให้ CALCULATE มักใช้คำนวณ Visual Total หรือหา % สัดส่วนใน Visual

หมายเหตุ: ALLSELECTED ซับซ้อนกว่า ALL เพราะทำงานกับ Shadow Filter Context และมี Expanded Table Caveat เช่นกัน

Leave a Reply

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