MEMBERGET
ฟังก์ชันนี้ส่งคืนชื่อที่ไม่ซ้ำขององค์ประกอบโดยอ้างอิงถึงความสัมพันธ์กับองค์ประกอบที่รวม ฟังก์ชันนี้ใช้งานได้กับฐานข้อมูลที่สอดคล้องกับ ODBO เท่านั้น หากต้องการส่งคืนคำอธิบายภาพ ให้ใช้รูปแบบตัวเลขตัวหนอน (~)
ไวยากรณ์
MEMBERGET("data_connection","cube","hierarchy","element_name","param" {,"param"})
อาร์กิวเมนต์ที่สามของฟังก์ชันคือ ลำดับขั้น ไม่ใช่มิติ สิ่งนี้มีความสำคัญเมื่อคุณใช้ฐานข้อมูลเชิงสัมพันธ์หรือ Analysis Services ซึ่งสามารถมีหลายลำดับขั้นในมิติ คุณต้องระบุชื่อที่ไม่ซ้ำของลำดับขั้น
มีการเปลี่ยนแปลงชั่วคราวเกี่ยวกับวิธีการที่ MEMBERGET จัดการกับลำดับขั้นและพารามิเตอร์องค์ประกอบที่ไม่ถูกต้องหรือไม่ตรงกัน
หากคุณระบุสตริงว่างเป็นชื่อองค์ประกอบ ระบบจะถือว่าองค์ประกอบเริ่มต้นของลำดับขั้นที่ระบุ
ตัวอย่าง
ตัวอย่างนี้ใช้ฐานข้อมูล Adventure Works สำหรับ Analysis Services มิติภูมิศาสตร์มีหลายลำดับขั้น ตัวอย่างนี้ใช้ลำดับขั้นของเมือง ชื่อที่ไม่ซ้ำของมันคือ [Geography].[City]
=MEMBERGET("Adventure Works","Adventure Works","[Geography].[City]",
"[Geography].[City].&[Abingdon]&[ENG]","Sibling",2)
ตัวอย่างนี้ส่งคืนองค์ประกอบ Alexandria [NSW]
นี่คือพี่น้องคนที่สอง (นับจากศูนย์) ของ Abingdon [ENG
] แทนที่ 2 ด้วย 1 เพื่อส่งคืน Albany [OR]
ซึ่งเป็นระดับเดียวกันตัวแรกของ Abingdon [ENG]
- ระดับล่าง
- ส่งกลับรายการรอง (ตามศูนย์) ของหน่วยหลัก ที่ระบุโดย Param2 Param2 ต้องเป็นตัวเลข
- ถัดไป
- ส่งกลับองค์ประกอบถัดไปในลำดับขั้นที่ระดับเดียวกับองค์ประกอบที่ระบุ ไม่จำเป็นต้องใช้ Param2
หมายเหตุ
Memberget ("...,"Next")
เทียบเท่ากับMemberget ("...,"Sibling",1)
- ก่อนหน้า
- ส่งกลับองค์ประกอบในลำดับขั้นที่อยู่ก่อนองค์ประกอบที่ระบุและอยู่ในระดับเดียวกัน ไม่จำเป็นต้องใช้ Param2
- ระดับเดียวกัน
- คืนค่าระดับเดียวกันของระดับหลักที่ระบุโดย param2 Param2 ต้องเป็นจำนวนบวกหรือลบหรือศูนย์
หมายเหตุ
Memberget ("...,"sibling",-1) is equivalent to Memberget ("...,"Prev")
- หลัก
- ส่งกลับระดับหลักขององค์ประกอบที่ระบุ ไม่จำเป็นต้องใช้ Param2
- ตนเองและยืนยัน
- ตนเอง และ ยืนยัน จะคืนค่าชื่อที่ไม่ซ้ำขององค์ประกอบที่ระบุ ไม่จำเป็นต้องใช้ Param2 หากไม่มีองค์ประกอบอยู่ สูตรจะส่งคืนองค์ประกอบเริ่มต้นของลำดับขั้นที่ระบุ
ตัวอย่าง
องค์ประกอบเริ่มต้นของลำดับขั้นไม่จำเป็นต้องเป็นองค์ประกอบระดับบนสุด ในการค้นหาองค์ประกอบเริ่มต้น คุณสามารถใช้พารามิเตอร์ตนเองและสตริงว่างเป็นชื่อองค์ประกอบ:
=MEMBERGET("data_connection","cube","hierarchy","","self")
เลือกหลายรายการ
MEMBERGET รองรับการเลือกหลายรายการ นั่นคือ คุณสามารถใช้ MEMBERGET เพื่อส่งคืนชื่อที่ไม่ซ้ำของหลายองค์ประกอบที่จัดเก็บไว้ใน MLS-XML
<?xml version="1.0" encoding="utf-16"?>
<MultiSelect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Hierarchy>[Period]</Hierarchy>
<AggregationFunction>Sum</AggregationFunction>
<StructureSelection>
<Member>
<MemberUName>[period].[all years].[2016]</MemberUName>
</Member>
<Member>
<MemberUName>[period].[all years].[2017]</MemberUName>
</Member>
</StructureSelection>
</MultiSelect>
=MEMBERGET( "BestPracticesOLAP", "Analysis", "[Period]", reportvariables.rv_multi.text, "child",2)
สูตร MEMBERGET ส่งคืน MLS-XML นี้:
<?xml version="1.0" encoding="utf-16"?>
<MultiSelect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Hierarchy>[Period]</Hierarchy>
<AggregationFunction>Sum</AggregationFunction>
<StructureSelection>
<Member>
<MemberUName>[Period].[All Years].[2016].[2016_Q3]</MemberUName>
</Member>
<Member>
<MemberUName>[Period].[All Years].[2017].[2017_Q3]</MemberUName>
</Member>
</StructureSelection>
</MultiSelect>
เซลล์ที่มีสูตร MEMBERGET แสดง </Multiselect>
ขยายความสูงของเซลล์เพื่อแสดงคำจำกัดความ MLS-XML แบบเต็ม
คุณสามารถใช้ MULTISELECTGETMEMBERS หรือ MULTISELECTGETMEMBERSSIMPLE เพื่อแยกชื่อที่ไม่ซ้ำขององค์ประกอบจาก MLS-XML
หรือหากต้องการแสดงคำอธิบายขององค์ประกอบในเซลล์ คุณสามารถระบุอักขระตัวหนอน (~) เป็นรูปแบบตัวเลขของเซลล์ได้