Thep Excel

CUBEVALUEฟังก์ชันดึงค่าจากคิูบ OLAP

CUBEVALUE ดึงค่าที่รวม (aggregated value) จากคิูบ OLAP ผ่านการเชื่อมต่อ Power Pivot ใช้กำหนดมิติและสมาชิกเพื่อได้ยอดขาย กำไร หรือตัวชี้วัดอื่นจากคิูบ

fx
=CUBEVALUE(connection, [member_expression1], [member_expression2], …)

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

อัปเดต 11 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
connection Text ข้อความที่ระบุชื่อการเชื่อมต่อกับคิููบ (เช่น “Sales”) ที่ถูกเก็บไว้ในเวิร์กบุ๊ก
[member_expression1]ไม่บังคับ Text (MDX) ข้อความของ MDX expression ที่ระบุมิติและสมาชิกในคิูบ เช่น “[Measures].[Sales]” หรือ “[Time].[2024]”
[member_expression2]ไม่บังคับ Text (MDX) ข้อความของ MDX expression เพิ่มเติมเพื่อระบุมิติและสมาชิกในคิููบ สามารถมีได้หลายตัวขึ้นอยู่กับโครงสร้างคิููบ

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

Additional Notes

CUBEVALUE เป็นฟังก์ชันที่ดึงค่าจากคิูบ OLAP (Online Analytical Processing) ซึ่งเป็นแหล่งข้อมูลหลายมิติของ Power Pivot หรือ SQL Server Analysis Services ต้องระบุการเชื่อมต่อและใช้ MDX expressions (Multidimensional Expression) เพื่อกำหนดมิติและสมาชิก เช่น [Measures].[Sales] หรือ [Time].[2024] ผลลัพธ์คือค่าที่รวมจากคิูบตามเงื่อนไขที่กำหนด

ที่เจ๋งคือ ผม สามารถใช้ CUBEVALUE ร่วมกับ CUBESET เพื่อดึงค่าสำหรับชุดสมาชิกที่กำหนดได้ และสามารถผสมผสาน absolute reference ($A$1) กับ member expressions เพื่อสร้างรายงานแบบไดนามิก เมื่อข้อมูล NULL ฟังก์ชันจะแสดง 0 หรือข้อความว่าง ต้องใช้ IF+ISTEXT เพื่อจัดการ

ส่วนตัวผม ใช้ CUBEVALUE เมื่อต้องดึงค่าจากคิูบเพียงอย่างเดียว หากต้องดึงสมาชิกหรือชุดให้ใช้ CUBEMEMBER หรือ CUBESET แทน เนื่องจาก CUBEVALUE มักให้ผลลัพธ์เป็นตัวเลข 😎

How it works

ดึงยอดขายสำหรับเขตและปี

ใช้ CUBEVALUE เพื่อดึงยอดขายรวมสำหรับเขตและปีที่กำหนด เช่น ยอดขายของเขต North ในปี 2004

ดึงกำไรตามสินค้าและสินค้าหมวดหมู่

ใช้ CUBEVALUE เพื่อดึงกำไรรวมสำหรับสินค้าเฉพาะหรือหมวดหมู่สินค้า

Examples

ดึงยอดขายรวมสำหรับปีและหมวดหมู่CUBEVALUE("Sales", "[Measures].[Sales]", "[Time].[2024]", "[Product].[Beverages]")

ดึงยอดขายรวมของเครื่องดื่มในปี 2024 จากคิูบชื่อ Sales ผลลัพธ์ 1,250,000 บาท

fx
=CUBEVALUE("Sales", "[Measures].[Sales]", "[Time].[2024]", "[Product].[Beverages]")

ผลลัพธ์1,250,000
ดึงกำไรโดยอ้างอิงจากเซลล์CUBEVALUE($A$1, "[Measures].[Profit]", $B2, C$3)

ดึงกำไรจากคิูบที่ระบุในเซลล์ $A$1 โดยใช้ member expressions ในเซลล์ $B2 และ C$3 สามารถลาก copy สูตรโดยใช้ mixed references เพื่อสร้างตารางแบบไดนามิก

fx
=CUBEVALUE($A$1, "[Measures].[Profit]", $B2, C$3)

ผลลัพธ์350,000
ดึงค่า NULL และจัดการด้วย IFIF(ISTEXT(CUBEVALUE("Sales", "[Measures].[Orders]", "[Product].[Unknown]")), "ไม่มีข้อมูล", CUBEVALUE("Sales", "[Measures].[Orders]", "[Product].[Unknown]"))

เมื่อ CUBEVALUE ส่งกลับค่า NULL (เป็นข้อความว่าง) IF+ISTEXT จะแสดง "ไม่มีข้อมูล" แทนการแสดง 0 ซึ่งช่วยให้แยกแยะข้อมูลที่ขาดไป

fx
=IF(ISTEXT(CUBEVALUE("Sales", "[Measures].[Orders]", "[Product].[Unknown]")), "ไม่มีข้อมูล", CUBEVALUE("Sales", "[Measures].[Orders]", "[Product].[Unknown]"))

ผลลัพธ์ไม่มีข้อมูล
ดึงค่าเฉพาะเงื่อนไขด้วย CUBESETCUBEVALUE("Sales", "[Measures].[Sales]", CUBESET("Sales", "[Product].[Category]", "[Product].[Category].[Beverages]"))

ใช้ CUBESET ร่วมกับ CUBEVALUE เพื่อดึงยอดขายของหมวดหมู่เครื่องดื่มทั้งหมด ประโยชน์คือสามารถกำหนดชุดสมาชิก (set) แบบไดนามิก

fx
=CUBEVALUE("Sales", "[Measures].[Sales]", CUBESET("Sales", "[Product].[Category]", "[Product].[Category].[Beverages]"))

ผลลัพธ์2,500,000

FAQs

ผมต้องใช้ Power Pivot หรือ Analysis Services ด้วยหรือ?+

ใช่ ผมต้องมีแหล่งข้อมูล OLAP cube เช่น Power Pivot หรือ SQL Server Analysis Services จึงจะใช้ CUBEVALUE ได้ หากใช้ข้อมูลทั่วไป ให้ใช้ VLOOKUP หรือ INDEX MATCH แทน

CUBEVALUE และ CUBEMEMBER ต่างกันอย่างไร?+

ผมอธิบายให้ CUBEMEMBER ส่งกลับสมาชิก (member) ของคิูบเป็นข้อความ ส่วน CUBEVALUE ส่งกลับค่าที่รวม (aggregated value) เป็นตัวเลข เช่น CUBEMEMBER ให้ "[Product].[Beverages]" แต่ CUBEVALUE ให้ 1,250,000

ข้อมูล NULL ทำให้เกิดปัญหาอะไร?+

ผมพบว่า NULL value จากคิูบแสดงเป็น 0 หรือข้อความว่าง ซึ่งอาจปิดบังข้อมูลที่ขาด ต้องใช้ IF+ISTEXT เพื่อแยกแยะค่า NULL และข้อมูลที่ค่าจริง ๆ เป็น 0

Resources & Related

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

ฟังก์ชันนี้CUBEVALUECube
Cube (6)
CUBEKPIMEMBER

CUBEKPIMEMBER ดึงข้อมูลตัวบ่งชี้ KPI จากคิวบ์ OLAP และส่งกลับค่าจริง เป้าหมาย สถานะ หรือแนวโน้ม ใช้เชื่อมต่อกับ SQL Server Analysis Services เพื่อวิเคราะห์ผลการดำเนินงานองค์กร

CUBEMEMBER

CUBEMEMBER ส่งกลับสมาชิกหรือ tuple จากคิวบ์ OLAP โดยใช้ MDX expression เพื่อระบุตำแหน่ง ใช้สำหรับตรวจสอบความมีตัวตนของสมาชิกและสร้าง tuple สำหรับ cube function อื่น

CUBEMEMBERPROPERTY

CUBEMEMBERPROPERTY ดึงค่าของคุณสมบัติสมาชิก (property) จากสมาชิกในคิูบ OLAP โดยต้องระบุชื่อการเชื่อมต่อ MDX expression และชื่อคุณสมบัติที่ต้องการเข้าถึง

CUBERANKEDMEMBER

CUBERANKEDMEMBER ส่งกลับสมาชิกที่อยู่ในตำแหน่งอันดับที่ระบุจากชุด ใช้หาข้อมูลอันดับ 1, 2, 3 หรืออื่น ๆ จากคิวบ์

CUBESET

CUBESET ส่งชุด MDX expression ไปยังเซิร์ฟเวอร์คิูบ แล้วส่งชุดข้อมูลกลับมาใช้กับฟังก์ชัน CUBE อื่นๆ เหมาะสำหรับงานวิเคราะห์ข้อมูล OLAP

CUBESETCOUNT

CUBESETCOUNT นับจำนวนรายการในชุดที่สร้างจาก CUBESET ฟังก์ชันนี้ใช้ประกอบกับการทำงานของ OLAP เพื่อนับสมาชิกในชุดข้อมูล

Comments

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