Thep Excel

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

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

fx
=COLLAPSEALL()

ความนิยม3/10
ความยาก5/10
ประโยชน์3/10

อัปเดต 14 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
[expression]ไม่บังคับ scalar expression นิพจน์ที่ต้องการประเมินในบริบทที่ถูกยุบ (ถ้าไม่ใส่ จะคืนบริบทที่ยุบแล้ว)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

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

How it works

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

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

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

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

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

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

Examples

ตัวอย่างที่ 1: คืนค่าบริบทที่ถูกยุบทั้งหมดEVALUATE COLLAPSEALL()

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

fx
=EVALUATE
COLLAPSEALL()

ผลลัพธ์บริบทที่เหลือระดับสูงสุดของแกน เช่น เฉพาะระดับ Brand หรือ All Products
ตัวอย่างที่ 2: คำนวณยอดขายรวมในบริบทที่ยุบHeadline Sales = COLLAPSEALL( SUM( Sales[Amount] ) )

นิพจน์ SUM ถูกประเมินในบริบทที่ถูกยุบทั้งหมด จึงได้ยอดรวมสูงสุดไม่ขึ้นกับรายละเอียดปัจจุบัน ใช้ทำการ์ดสรุปได้

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

ผลลัพธ์ยอดขายรวมระดับสูงสุด แม้กำลังดูรายละเอียดสินค้า/สี
ตัวอย่างที่ 3: ใช้กับ Matrix ที่ถูก drilldownMax Brand Sales = CALCULATE( COLLAPSEALL( SUM( Sales[Amount] ) ), Products[Active] = TRUE() )

CALCULATE ปรับบริบทให้เหลือเฉพาะสินค้าที่ Active แล้ว COLLAPSEALL ยุบทุกระดับรายละเอียดก่อนสรุปยอดขาย ทำให้ค่าที่ได้ไม่ขึ้นกับระดับ drilldown

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

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

FAQs

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

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

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

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

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

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

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ COLLAPSEALL จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้COLLAPSEALLVisual calculations
Visual calculations (2)
COLLAPSE

COLLAPSE ยุบผลลัพธ์ตารางหรือคอลัมน์ให้เหลือค่าสเกลาร์เดียว ช่วยบังคับให้บริบทมีค่าเดียวก่อนส่งต่อให้ฟังก์ชันอื่น หากมีหลายค่าจะคืน BLANK ช่วยตรวจสอบความถูกต้องของ filter context และใช้กำหนดค่าพารามิเตอร์ที่ควรมีค่าเดียว

EXPANDALL

EXPANDALL นำทางไปยังระดับการแสดงรายละเอียดต่ำสุด (Lowest Detail Level) บนแกน (Axis) ที่ระบุในการคำนวณภาพ (Visual Calculations) ส่งกลับบริบทที่มีระดับรายละเอียดที่เพิ่มเข้ามากำหนดการขยายลำดับชั้น (Hierarchy) ใช้สำหรับการคำนวณที่ต้องเข้าถึงข้อมูลระดับต่ำสุด

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่