Thep Excel

COLLAPSEALL – ยุบทุกระดับรายละเอียดให้เหลือบริบทกว้างสุด

COLLAPSEALL ลบระดับรายละเอียดทั้งหมดในบริบทปัจจุบันแล้วคืนค่าหรือประเมินนิพจน์ในบริบทที่กว้างที่สุด ช่วยให้สามารถเปลี่ยนจากรายละเอียดลึกกลับไปคำนวณระดับสูงได้ในสูตรเดียว และเป็นฟังก์ชันคู่ตรงข้ามกับ EXPANDALL

=COLLAPSEALL()

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
3/10

Difficulty
5/10

Usefulness
3/10

Syntax & Arguments

=COLLAPSEALL()

Argument Type Required Default Description
expression scalar expression Optional นิพจน์ที่ต้องการประเมินในบริบทที่ถูกยุบ (ถ้าไม่ใส่ จะคืนบริบทที่ยุบแล้ว)

How it works

กลับมาคำนวณที่ระดับแบรนด์สูงสุด

เมื่อกำลังดูรายงานระดับสินค้า แต่ต้องการสรุประดับแบรนด์เดียวกันให้เป็นค่าสเกลาร์ที่ไม่ขึ้นกับระดับสินค้า

สร้าง KPI พาดหัวที่ไม่ยึดระดับรายละเอียด

ใช้ COLLAPSEALL หาค่า Total Sales สูงสุดในบริบทที่ยุบรายละเอียด แล้วนำไปแสดงเป็นการ์ดสรุป

ย้อนจาก drilldown ไปบริบทกว้างสุดในสูตรเดียว

เวลาผู้ใช้ drill down รายละเอียดใน Matrix แต่ต้องการให้สูตรหนึ่งคำนวณผลรวมระดับบนสุดเสมอ

Examples

ตัวอย่างที่ 1: คืนค่าบริบทที่ถูกยุบทั้งหมด
EVALUATE COLLAPSEALL()
เรียกโดยไม่ส่งนิพจน์เพื่อให้เห็นบริบทที่ถูกยุบทั้งหมด เหมาะสำหรับตรวจสอบผลของการยุบระดับ
DAX Formula:

=EVALUATE
COLLAPSEALL()

Result:

บริบทที่เหลือระดับสูงสุดของแกน เช่น เฉพาะระดับ Brand หรือ All Products

ตัวอย่างที่ 2: คำนวณยอดขายรวมในบริบทที่ยุบ
Headline Sales = COLLAPSEALL( SUM( Sales[Amount] ) )
นิพจน์ SUM ถูกประเมินในบริบทที่ถูกยุบทั้งหมด จึงได้ยอดรวมสูงสุดไม่ขึ้นกับรายละเอียดปัจจุบัน ใช้ทำการ์ดสรุปได้
DAX Formula:

Headline Sales = COLLAPSEALL( SUM( Sales[Amount] ) )

Result:

ยอดขายรวมระดับสูงสุด แม้กำลังดูรายละเอียดสินค้า/สี

ตัวอย่างที่ 3: ใช้กับ Matrix ที่ถูก drilldown
Max Brand Sales = CALCULATE( COLLAPSEALL( SUM( Sales[Amount] ) ), Products[Active] = TRUE() )
CALCULATE ปรับบริบทให้เหลือเฉพาะสินค้าที่ Active แล้ว COLLAPSEALL ยุบทุกระดับรายละเอียดก่อนสรุปยอดขาย ทำให้ค่าที่ได้ไม่ขึ้นกับระดับ drilldown
DAX Formula:

Max Brand Sales =
CALCULATE(
    COLLAPSEALL( SUM( Sales[Amount] ) ),
    Products[Active] = TRUE()
)

Result:

ยอดขายรวมต่อแบรนด์ที่ยัง Active แม้กำลัง drilldown ระดับย่อย

FAQs

ต่างจาก COLLAPSE อย่างไร?

COLLAPSE ยุบรายละเอียดลงหนึ่งขั้นตามบริบทปัจจุบัน ในขณะที่ COLLAPSEALL ยุบทุกระดับให้เหลือกว้างที่สุด เหมาะเมื่ออยากได้ค่าระดับบนสุดทันที

ควรใช้คู่กับฟังก์ชันใด?

ใช้คู่กับ EXPAND หรือ EXPANDALL ใน Visual Calculations เพื่อสลับการยุบ/ขยายบริบทตามการวิเคราะห์ และใช้ร่วมกับ CALCULATE เพื่อควบคุม filter context ก่อนยุบ

จะเกิดอะไรขึ้นถ้าบริบทมีหลายค่าหลังยุบ?

ถ้าใช้รูปแบบส่งนิพจน์ จะคำนวณนิพจน์ในบริบทที่ถูกยุบ หากผลลัพธ์ยังมีหลายค่าให้ใช้ฟังก์ชันสรุปเพิ่มเติม เช่น SUM หรือ MAX เพื่อบังคับให้ได้ค่าสเกลาร์

Resources & Related

Additional Notes

COLLAPSEALL ยุบบริบทให้เหลือระดับรายละเอียดกว้างที่สุดของแกน (axis) เช่น ยุบจากระดับสินค้า-หมวด-แบรนด์ ให้เหลือแค่ระดับสูงสุดเดียว เหมาะสำหรับการนำค่าที่กำลังเจาะลึกอยู่กลับขึ้นไปคำนวณในระดับสูงสุด หรือสร้างสรุปที่ไม่ยึดกับรายละเอียดปัจจุบัน

Leave a Reply

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