CUBESET ส่งชุด MDX expression ไปยังเซิร์ฟเวอร์คิูบ แล้วส่งชุดข้อมูลกลับมาใช้กับฟังก์ชัน CUBE อื่นๆ เหมาะสำหรับงานวิเคราะห์ข้อมูล OLAP
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| connection | text | ข้อความที่ระบุชื่อของการเชื่อมต่อกับคิูบ ต้องตรงกับชื่อการเชื่อมต่อที่ตั้งไว้ใน Excel |
| set_expression | text | ข้อความ MDX set expression หรืออ้างอิงเซลล์ที่มีสมาชิก tuples หรือชุด เช่น ‘[Product].[Product].Children’ หรือ Order([Time].[Month].Members, [Measures].[Amount], DESC) |
| [caption]ไม่บังคับ | text | ข้อความที่จะแสดงในเซลล์แทนชื่อชุด ถ้าไม่ระบุจะแสดงค่าโดยปริยาย |
| [sort_order]ไม่บังคับ | number | ตัวเลข 0-6 ที่ระบุการเรียงลำดับ: 0=SortNone (ค่าปริยาย) 1=SortAscending 2=SortDescending 3=SortAlphaAscending 4=SortAlphaDescending 5=SortNaturalAscending 6=SortNaturalDescending |
| [sort_by]ไม่บังคับ | text | ข้อความที่ระบุค่าที่ใช้สำหรับการเรียงลำดับ จำเป็นต้องใช้เมื่อ sort_order เป็น 1 หรือ 2 เช่น ‘[Measures].[Sales Amount]’ หรือ ‘[Measures].[Quantity]’ |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
CUBESET สร้างชุด (set) ของสมาชิกจากคิูบโดยส่งนิพจน์ MDX (Multidimensional Expression) ไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์จะประมวลผลแล้วส่งชุดข้อมูลกลับ Excel เพื่อให้คุณใช้งานต่อไป ฟังก์ชันนี้รองรับการเรียงลำดับแบบต่างๆ เช่น Ascending, Descending, Alphabetic และสามารถใช้เป็น input ให้กับฟังก์ชัน CUBE ตัวอื่นๆ เช่น CUBERANKEDMEMBER หรือ CUBESETCOUNT
ที่เจ๋งคือ CUBESET ทำให้คุณสามารถสร้างชุดข้อมูลที่ซับซ้อนจาก OLAP Cube ได้อย่างอิสระ โดยไม่ต้องตกติดเฉพาะที่ข้อมูลเท่านั้น คุณสามารถจัดเรียง ฟิลเตอร์ หรือสร้างชุดแบบไดนามิก ได้ตามต้องการ เฉพาะที่เซิร์ฟเวอร์ OLAP ของคุณรองรับ MDX
ส่วนตัวผม พบว่า CUBESET มีประโยชน์มากเวลาทำงาน Data Analysis กับ SQL Server Analysis Services หรือ Azure Analysis Services แต่ต้องเข้าใจ MDX Expression ก่อนถึงจะใช้ได้คล่อง ซึ่งบางครั้งค่อนข้างถึกหน่อยครับ 😅
ใช้ CUBESET เพื่อสร้างชุดของประเภทสินค้าทั้งหมดจากคิูบ
ใช้ CUBESET กับ sort_order=1 และ sort_by='[Measures].[Sales Amount]' เพื่อสร้างชุดสินค้าเรียงลำดับจากยอดขายมากไปน้อย
สูตรนี้ส่ง MDX expression '[Product].[Product].[All].Children' ไปยังเซิร์ฟเวอร์ เพื่อดึงลูก (children) ทั้งหมดจากระดับ All ของมิติ Product และแสดงข้อความ 'Products' ในเซลล์ แทนที่จะแสดงโค้ด MDX เบื้องต้น
sort_order=1 หมายถึง SortAscending จำเป็นต้องระบุ sort_by เป็น '[Measures].[Sales Amount]' เพื่อให้ระบบรู้ว่าจะเรียงตามค่าไหน แล้วลำดับทั้งหมดจะอัปเดตอัตโนมัติเมื่อข้อมูลในคิูบเปลี่ยน
เมื่อ MDX expression มี Order() function อยู่แล้ว คุณสามารถปล่อย sort_order=0 (SortNone) ไว้ได้ เพราะการเรียงลำดับถูกกำหนดในนิพจน์ MDX เอง วิธีนี้ประหยัดและเป็นมาตรฐาน
CUBESET ส่งกลับชุดของประเทศ แล้ว CUBESETCOUNT นับจำนวนสมาชิกในชุดนั้น วิธีการผสม CUBE functions เหล่านี้ช่วยให้คุณสร้างรายงาน Dynamic ได้ง่าย
sort_order ระบุ 'วิธีการ' เรียงลำดับ เช่น Ascending หรือ Descending ส่วน sort_by ระบุ 'ค่าไหน' ที่ใช้สำหรับเรียง เช่น [Measures].[Sales Amount] ซึ่ง sort_by จำเป็นต้องใช้เมื่อ sort_order เป็น 1 (Ascending) หรือ 2 (Descending) เท่านั้น ถ้า sort_order=0 ไม่ต้องใส่ sort_by
Set_expression ต้องเป็นนิพจน์ MDX (Multidimensional Expression) ที่ส่งกลับชุด เช่น [Product].Children (สมาชิกลูก) [Product].Members (สมาชิกทั้งหมด) หรือใช้ function เช่น Order() CrossJoin() Filter() ฯลฯ หรือคุณอ้างอิงเซลล์ที่มีตัวแปรชุด MDX ถ้า expression ยาวกว่า 255 ตัวอักษร ต้องเก็บไว้ในเซลล์แล้วอ้างอิงแทน
CUBEMEMBER ส่งกลับ 'สมาชิกตัวเดียว' (single member) จากคิูบ ส่วน CUBESET ส่งกลับ 'ชุดของสมาชิก' (set of multiple members) ที่สามารถใช้เป็น input ให้กับฟังก์ชัน CUBE อื่นๆ เช่น CUBESETCOUNT CUBERANKEDMEMBER ได้ ถ้าต้องการค่าตัวเดียว ใช้ CUBEMEMBER แต่ถ้าต้องการหลายค่า ใช้ CUBESET
ข้อความ '#GETTING_DATA…' บอกว่า Excel กำลังรออยู่ว่าเซิร์ฟเวอร์คิูบจะประมวลผลและส่งข้อมูลกลับมา นี่เป็นสิ่งปกติครับ โดยเฉพาะเมื่อ set_expression มีความซับซ้อน หรือปริมาณข้อมูลเยอะ บางครั้งต้องรอไป 30 วินาที ถ้ารออีก ลองเช็คการเชื่อมต่อกับเซิร์ฟเวอร์
ฟังก์ชันที่ผู้เขียนโยงไว้กับ CUBESET จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
CUBEKPIMEMBER ดึงข้อมูลตัวบ่งชี้ KPI จากคิวบ์ OLAP และส่งกลับค่าจริง เป้าหมาย สถานะ หรือแนวโน้ม ใช้เชื่อมต่อกับ SQL Server Analysis Services เพื่อวิเคราะห์ผลการดำเนินงานองค์กร
CUBEMEMBER ส่งกลับสมาชิกหรือ tuple จากคิวบ์ OLAP โดยใช้ MDX expression เพื่อระบุตำแหน่ง ใช้สำหรับตรวจสอบความมีตัวตนของสมาชิกและสร้าง tuple สำหรับ cube function อื่น
CUBEMEMBERPROPERTY ดึงค่าของคุณสมบัติสมาชิก (property) จากสมาชิกในคิูบ OLAP โดยต้องระบุชื่อการเชื่อมต่อ MDX expression และชื่อคุณสมบัติที่ต้องการเข้าถึง
CUBERANKEDMEMBER ส่งกลับสมาชิกที่อยู่ในตำแหน่งอันดับที่ระบุจากชุด ใช้หาข้อมูลอันดับ 1, 2, 3 หรืออื่น ๆ จากคิวบ์
CUBESETCOUNT นับจำนวนรายการในชุดที่สร้างจาก CUBESET ฟังก์ชันนี้ใช้ประกอบกับการทำงานของ OLAP เพื่อนับสมาชิกในชุดข้อมูล
CUBEVALUE ดึงค่าที่รวม (aggregated value) จากคิูบ OLAP ผ่านการเชื่อมต่อ Power Pivot ใช้กำหนดมิติและสมาชิกเพื่อได้ยอดขาย กำไร หรือตัวชี้วัดอื่นจากคิูบ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่