CUBERANKEDMEMBER ส่งกลับสมาชิกที่อยู่ในตำแหน่งอันดับที่ระบุจากชุด ใช้หาข้อมูลอันดับ 1, 2, 3 หรืออื่น ๆ จากคิวบ์
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| 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’ (ถ้าไม่ใส่จะแสดงชื่อสมาชิกจริง) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
CUBERANKEDMEMBER ดึงสมาชิกจากชุดโดยอ้างอิงตำแหน่งอันดับที่คุณต้องการ rank=1 คือสูงสุด, rank=2 คือลำดับที่สอง เป็นต้น เป็นฟังก์ชันเคลื่อน (CUBE function) ที่ต้องเชื่อมต่อกับ OLAP cube ของ Analysis Services
ที่เจ๋งคือมันช่วยให้หาข้อมูลจำเพาะตามตำแหน่ง เช่น “เดือนที่ขายสูงสุด” หรือ “สินค้าลำดับที่ 5 ในยอดขาย” โดยไม่ต้องเรียงลำดับตารางทั้งหมด ตรงไปตรงมาและทำงานกับข้อมูล multidimensional ได้ดี
ส่วนตัวผมใช้ CUBERANKEDMEMBER เวลาทำ dashboard ที่ต้องแสดง “Top Performer” หรือ “Bottom Sellers” ตรง ๆ เลย มันช่วยอัพเดตอัตโนมัติเมื่อข้อมูลเปลี่ยน ไม่ต้องใช้ helper column
ใช้ CUBERANKEDMEMBER เพื่อค้นหาเดือนที่มียอดขายสูงสุด (rank=1) หรือต่ำสุด (rank=12 หากมี 12 เดือน)
ใช้ CUBERANKEDMEMBER เพื่อค้นหาร้านค้า 3 อันดับแรกที่มีกำไรสูงสุด
ดึงเดือนที่อยู่อันดับ 1 (สูงสุด) จากชุดที่ระบุในเซลล์ D4 และแสดงข้อความ 'Top Month' แทนชื่อจริง
ใช้ CUBESET เพื่อสร้างชุดสินค้าทั้งหมด จากนั้นดึงสินค้าที่อยู่ในตำแหน่งลำดับที่ 3
ดึงตัวแทนขายลำดับที่ 5 จากชุด members ทั้งหมด พร้อมแสดง caption เป็น '#5 Sales Rep'
หากชุดมี 50 ลูกค้า rank=50 จะส่งกลับลูกค้าลำดับสุดท้าย (ต่ำสุด) ข้อมูลต้องเรียงจากสูงไปต่ำ
rank ต้องเป็นจำนวนเต็มบวก (1, 2, 3, …) ที่ไม่เกินจำนวนสมาชิกในชุด ผมแนะนำให้ใช้ COUNTA หรือ CUBESETCOUNT เพื่อนับจำนวนสมาชิกก่อน เช่น =CUBERANKEDMEMBER("Sales", $D$4, MIN(5, CUBESETCOUNT($D$4)))
เพราะ CUBERANKEDMEMBER ต้องการชุด (set) ของสมาชิกเพื่อรู้ว่าจะเรียงลำดับเทียบจากอะไร CUBESET สร้างชุดนั้นขึ้นมา ถ้าเอาเซลล์ธรรมดามา มันจะ Error #N/A
ผมพบว่า #NAME? ปกติเกิดจากการเชื่อมต่อไม่ถูกต้อง ชื่อ connection ไม่ตรงกับชื่อใน cube หรือ Analysis Services ไม่พร้อม ตรวจสอบการเชื่อมต่อกับ OLAP server ก่อน
ผม Error #NUM! หรือ #N/A มักจะได้ ให้ลองใช้ IFERROR เป็นตัวดักไว้ เช่น =IFERROR(CUBERANKEDMEMBER(…), "ไม่พบอันดับนี้")
Caption ใช้แสดงข้อความแทนชื่อจริงของสมาชิก เช่นถ้าชื่อจริงยาว ใส่ caption="Top" แล้วเซลล์จะแสดง 'Top' แทน ถ้าไม่ใส่ก็แสดงชื่อจริง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ CUBERANKEDMEMBER จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
CUBEKPIMEMBER ดึงข้อมูลตัวบ่งชี้ KPI จากคิวบ์ OLAP และส่งกลับค่าจริง เป้าหมาย สถานะ หรือแนวโน้ม ใช้เชื่อมต่อกับ SQL Server Analysis Services เพื่อวิเคราะห์ผลการดำเนินงานองค์กร
CUBEMEMBER ส่งกลับสมาชิกหรือ tuple จากคิวบ์ OLAP โดยใช้ MDX expression เพื่อระบุตำแหน่ง ใช้สำหรับตรวจสอบความมีตัวตนของสมาชิกและสร้าง tuple สำหรับ cube function อื่น
CUBEMEMBERPROPERTY ดึงค่าของคุณสมบัติสมาชิก (property) จากสมาชิกในคิูบ OLAP โดยต้องระบุชื่อการเชื่อมต่อ MDX expression และชื่อคุณสมบัติที่ต้องการเข้าถึง
CUBESET ส่งชุด MDX expression ไปยังเซิร์ฟเวอร์คิูบ แล้วส่งชุดข้อมูลกลับมาใช้กับฟังก์ชัน CUBE อื่นๆ เหมาะสำหรับงานวิเคราะห์ข้อมูล OLAP
CUBESETCOUNT นับจำนวนรายการในชุดที่สร้างจาก CUBESET ฟังก์ชันนี้ใช้ประกอบกับการทำงานของ OLAP เพื่อนับสมาชิกในชุดข้อมูล
CUBEVALUE ดึงค่าที่รวม (aggregated value) จากคิูบ OLAP ผ่านการเชื่อมต่อ Power Pivot ใช้กำหนดมิติและสมาชิกเพื่อได้ยอดขาย กำไร หรือตัวชี้วัดอื่นจากคิูบ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่