Thep Excel

CUBERANKEDMEMBERดึงสมาชิกโดยเรียงลำดับอันดับ

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

fx
=CUBERANKEDMEMBER(connection, set_expression, rank, [caption])

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

อัปเดต 11 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
connection text ข้อความที่ระบุชื่อของการเชื่อมต่อกับคิูบ (เช่น ‘Sales’, ‘HR’, ‘Finance’) ต้องตรงกับชื่อการเชื่อมต่อใน cube ของ Analysis Services
set_expression text or function ชุดของสมาชิกที่ต้องการค้นหา อาจเป็น CUBESET function หรืออ้างอิงเซลล์ที่มี CUBESET เช่น CUBESET(“Sales”,”{[Item].children}”) หรือ $D$4
rank number ตัวเลขที่ระบุตำแหน่งอันดับที่ต้องการ (1 = ที่หนึ่ง, 2 = ที่สอง, เป็นต้น) ต้องเป็นจำนวนเต็มบวกและไม่เกินจำนวนสมาชิกในชุด
[caption]ไม่บังคับ text ข้อความทดแทนที่แสดงในเซลล์แทนชื่อของสมาชิก เช่น ‘Top Month’ หรือ ‘Best Seller’ (ถ้าไม่ใส่จะแสดงชื่อสมาชิกจริง)

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

Additional Notes

CUBERANKEDMEMBER ดึงสมาชิกจากชุดโดยอ้างอิงตำแหน่งอันดับที่คุณต้องการ rank=1 คือสูงสุด, rank=2 คือลำดับที่สอง เป็นต้น เป็นฟังก์ชันเคลื่อน (CUBE function) ที่ต้องเชื่อมต่อกับ OLAP cube ของ Analysis Services

ที่เจ๋งคือมันช่วยให้หาข้อมูลจำเพาะตามตำแหน่ง เช่น “เดือนที่ขายสูงสุด” หรือ “สินค้าลำดับที่ 5 ในยอดขาย” โดยไม่ต้องเรียงลำดับตารางทั้งหมด ตรงไปตรงมาและทำงานกับข้อมูล multidimensional ได้ดี

ส่วนตัวผมใช้ CUBERANKEDMEMBER เวลาทำ dashboard ที่ต้องแสดง “Top Performer” หรือ “Bottom Sellers” ตรง ๆ เลย มันช่วยอัพเดตอัตโนมัติเมื่อข้อมูลเปลี่ยน ไม่ต้องใช้ helper column

How it works

หาเดือนที่มียอดขายสูงสุด

ใช้ CUBERANKEDMEMBER เพื่อค้นหาเดือนที่มียอดขายสูงสุด (rank=1) หรือต่ำสุด (rank=12 หากมี 12 เดือน)

หาร้านค้าที่มีประสิทธิภาพดีที่สุด

ใช้ CUBERANKEDMEMBER เพื่อค้นหาร้านค้า 3 อันดับแรกที่มีกำไรสูงสุด

Examples

ตัวอย่างที่ 1: หาเดือนที่มียอดขายสูงสุดCUBERANKEDMEMBER("Sales", $D$4, 1, "Top Month")

ดึงเดือนที่อยู่อันดับ 1 (สูงสุด) จากชุดที่ระบุในเซลล์ D4 และแสดงข้อความ 'Top Month' แทนชื่อจริง

fx
=CUBERANKEDMEMBER("Sales", $D$4, 1, "Top Month")

ผลลัพธ์June (หรือเดือนที่มียอดขายสูงสุด)
ตัวอย่างที่ 2: หาสินค้า Top 3CUBERANKEDMEMBER("Sales", CUBESET("Sales", "{[Product].children}"), 3)

ใช้ CUBESET เพื่อสร้างชุดสินค้าทั้งหมด จากนั้นดึงสินค้าที่อยู่ในตำแหน่งลำดับที่ 3

fx
=CUBERANKEDMEMBER("Sales", CUBESET("Sales", "{[Product].children}"), 3)

ผลลัพธ์Widget C (หรือสินค้าลำดับที่ 3)
ตัวอย่างที่ 3: หาตัวแทนขายอันดับ 5CUBERANKEDMEMBER("SalesPeople", CUBESET("SalesPeople", "{[Sales Rep].members}"), 5, "#5 Sales Rep")

ดึงตัวแทนขายลำดับที่ 5 จากชุด members ทั้งหมด พร้อมแสดง caption เป็น '#5 Sales Rep'

fx
=CUBERANKEDMEMBER("SalesPeople", CUBESET("SalesPeople", "{[Sales Rep].members}"), 5, "#5 Sales Rep")

ผลลัพธ์Alice Johnson
ตัวอย่างที่ 4: หาลูกค้า Bottom 1 (ต่ำสุด)CUBERANKEDMEMBER("Sales", $D$10, 50, "Lowest Customer")

หากชุดมี 50 ลูกค้า rank=50 จะส่งกลับลูกค้าลำดับสุดท้าย (ต่ำสุด) ข้อมูลต้องเรียงจากสูงไปต่ำ

fx
=CUBERANKEDMEMBER("Sales", $D$10, 50, "Lowest Customer")

ผลลัพธ์Small Shop Inc

FAQs

rank ต้องมีค่าเท่าไหร่ถึงจะถูก?+

rank ต้องเป็นจำนวนเต็มบวก (1, 2, 3, …) ที่ไม่เกินจำนวนสมาชิกในชุด ผมแนะนำให้ใช้ COUNTA หรือ CUBESETCOUNT เพื่อนับจำนวนสมาชิกก่อน เช่น =CUBERANKEDMEMBER("Sales", $D$4, MIN(5, CUBESETCOUNT($D$4)))

ทำไม CUBERANKEDMEMBER ต้องใช้กับ CUBESET?+

เพราะ CUBERANKEDMEMBER ต้องการชุด (set) ของสมาชิกเพื่อรู้ว่าจะเรียงลำดับเทียบจากอะไร CUBESET สร้างชุดนั้นขึ้นมา ถ้าเอาเซลล์ธรรมดามา มันจะ Error #N/A

Error #NAME? หมายความว่าอะไร?+

ผมพบว่า #NAME? ปกติเกิดจากการเชื่อมต่อไม่ถูกต้อง ชื่อ connection ไม่ตรงกับชื่อใน cube หรือ Analysis Services ไม่พร้อม ตรวจสอบการเชื่อมต่อกับ OLAP server ก่อน

ถ้า rank ใหญ่เกินจำนวนสมาชิก จะเป็นไง?+

ผม Error #NUM! หรือ #N/A มักจะได้ ให้ลองใช้ IFERROR เป็นตัวดักไว้ เช่น =IFERROR(CUBERANKEDMEMBER(…), "ไม่พบอันดับนี้")

Caption พารามิเตอร์ใช้ทำไม?+

Caption ใช้แสดงข้อความแทนชื่อจริงของสมาชิก เช่นถ้าชื่อจริงยาว ใส่ caption="Top" แล้วเซลล์จะแสดง 'Top' แทน ถ้าไม่ใส่ก็แสดงชื่อจริง

Resources & Related

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

ฟังก์ชันนี้CUBERANKEDMEMBERCube
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 และชื่อคุณสมบัติที่ต้องการเข้าถึง

CUBESET

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

CUBESETCOUNT

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

CUBEVALUE

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

Comments

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