CUBEMEMBERPROPERTY ดึงค่าของคุณสมบัติสมาชิก (property) จากสมาชิกในคิูบ OLAP โดยต้องระบุชื่อการเชื่อมต่อ MDX expression และชื่อคุณสมบัติที่ต้องการเข้าถึง
=CUBEMEMBERPROPERTY(connection, member_expression, property)
=CUBEMEMBERPROPERTY(connection, member_expression, property)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| connection | text | Yes | ข้อความที่ระบุชื่อของการเชื่อมต่อกับคิูบ ต้องเป็นการเชื่อมต่อที่ได้ตั้งค่าไว้ในสมุดงานแล้ว (สำหรับ SQL Server Analysis Services) | |
| member_expression | text | Yes | ข้อความของ MDX (Multidimensional Expressions) expression ที่ประเมินเป็นสมาชิกในคิูบ เช่น [Time].[Fiscal].[2014] หรือ [Store].[MyFavoriteStore] | |
| property | text | Yes | ชื่อของคุณสมบัติที่ต้องการดึง สามารถเป็นข้อความโดยตรงหรือเอกสารอ้างอิงเซลล์ เช่น [Time].[Fiscal Level], [Store].[Store Sqft], หรือ [Store].[Store Name] |
ใช้ CUBEMEMBERPROPERTY เพื่อดึงข้อมูลคุณสมบัติของสมาชิก เช่น ชื่อที่แสดง ลำดับลำดับชั้น หรือค่า custom property
ใช้ CUBEMEMBERPROPERTY เพื่อดึงข้อมูลเพิ่มเติมเกี่ยวกับร้านค้า เช่น พื้นที่เก็บข้อมูล ที่อยู่ หรือตัวจัดการ
CUBEMEMBERPROPERTY("Sales", "[Time].[Fiscal].[2014]", "[Time].[Fiscal Level]")=CUBEMEMBERPROPERTY("Sales", "[Time].[Fiscal].[2014]", "[Time].[Fiscal Level]")
4
CUBEMEMBERPROPERTY("Sales", "[Store].[MyFavoriteStore]", "[Store].[Store Sqft]")=CUBEMEMBERPROPERTY("Sales", "[Store].[MyFavoriteStore]", "[Store].[Store Sqft]")
5000
CUBEMEMBERPROPERTY("Sales", "[Store].[MyFavoriteStore]", "[Store].[Store Name]")=CUBEMEMBERPROPERTY("Sales", "[Store].[MyFavoriteStore]", "[Store].[Store Name]")
"My Favorite Store"
CUBEMEMBERPROPERTY("Sales", "[Time].[Fiscal].[2014]", $A$3)=CUBEMEMBERPROPERTY("Sales", "[Time].[Fiscal].[2014]", $A$3)
ค่าของคุณสมบัติที่ระบุใน A3
CUBEMEMBER ส่งกลับสมาชิกหรือ tuple เอง ส่วน CUBEMEMBERPROPERTY ส่งกลับค่าของคุณสมบัติเฉพาะของสมาชิก เช่น ชื่อ ระดับ หรือ custom property ที่ถูกนิยามไว้ในคิูบ
คุณสมบัติที่สามารถดึงได้ขึ้นอยู่กับโครงสร้างของคิูบ โดยทั่วไปมี ชื่อที่แสดง (MEMBER_NAME) ระดับลำดับชั้น (LEVEL_NUMBER) พ่อแม่ (PARENT_UNIQUE_NAME) และ custom property ต่าง ๆ ต้องตรวจสอบเอกสารของคิูบเพื่อดูคุณสมบัติที่มีอยู่
ไม่ครับ CUBEMEMBERPROPERTY ใช้ได้เฉพาะกับ OLAP cubes จาก SQL Server Analysis Services เท่านั้น ไม่สามารถใช้กับ Power Pivot Data Model หรือ Excel Data Model ที่แก้ไขใน Excel ได้
ผม#NAME? error แปลว่าชื่อการเชื่อมต่อไม่ถูกต้อง หรือเซิร์ฟเวอร์ OLAP ไม่สามารถเข้าถึงได้ ส่วน #N/A error แปลว่า member_expression หรือชื่อคุณสมบัติไม่ถูกต้อง ลองตรวจสอบการสะกด MDX expression ให้อีกครั้ง
CUBEMEMBERPROPERTY ดึงค่าของคุณสมบัติสมาชิก (property) จากสมาชิกในคิูบ OLAP โดยตรวจสอบว่าสมาชิกนั้นมีอยู่จริง แล้วส่งกลับค่าของคุณสมบัติที่ระบุ เช่น ชื่อที่แสดง พ่อแม่ ลำดับ พื้นที่เก็บข้อมูล หรือ custom property ต่าง ๆ
ที่เจ๋งคือมันเป็นเหมือนตัวอ่านข้อมูลเมตาดาต้า (metadata reader) ของ OLAP cubes นั่นเอง ไม่ใช่แค่ดึงข้อมูลตัวเลข แต่ดึงข้อมูลเกี่ยวกับสมาชิกนั้น ๆ ได้ด้วย ทำให้เราสามารถสร้างรายงานที่ฉลาดและยืดหยุ่นได้
ส่วนตัวผมใช้ CUBEMEMBERPROPERTY สำหรับการเชื่อมต่อกับ SQL Server Analysis Services เพื่อดึงข้อมูลคุณสมบัติต่าง ๆ ของสมาชิก เมื่อต้องทำงานกับ OLAP cubes ครับ มันช่วยให้รายงานมีความสมบูรณ์มากขึ้น เพราะเราไม่ต้องตั้งค่าข้อมูลเมตาดาต้าทั้งหมดด้วยตนเอง