SETPROPERTY
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
แต่เมื่อแทรกลงในเซลล์ สูตรเดียวกันจะคืนค่าปัจจุบันของตัวแปร DemoXML:<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>
ดังนั้น หากต้องการแก้ไขตัวแปร คุณต้องใช้การดำเนินการที่กำหนดผลลัพธ์ที่ส่งคืนโดยฟังก์ชัน SETPROPERTY กลับไปยังตัวแปร
ตัวอย่างเช่น บนออบเจ็กต์มุมมองรายการ เช่น กล่องคำสั่งผสม จะกำหนดการดำเนินการ ตั้งค่าพารามิเตอร์ ที่จะทริกเกอร์เมื่อการเลือกในกล่องคำสั่งผสมเปลี่ยนแปลง ในส่วนพารามิเตอร์ของกล่องโต้ตอบ สร้างการดำเนินการ เลือกตัวแปรที่จะเติมเป็นชื่อ และกำหนดฟังก์ชัน SETPROPERTY เป็นค่า ในโหมดมุมมอง พารามิเตอร์จะถูกเติมเมื่อมีการทริกเกอร์การดำเนินการ
คุณสามารถเพิ่ม แก้ไข หรือลบคุณสมบัติใดๆ ได้
คุณสามารถใช้ฟังก์ชันเพื่อตั้งค่าคุณสมบัติเดียวและค่า หรือคุณสมบัติหลายรายการ โดยมีการตั้งค่าให้แต่ละรายการ ตัวอย่างเช่น ใช้เพื่อเติมค่าตัวแปร XML ด้วยค่าของมิติสไลซ์ในรายงาน คุณยังสามารถใช้ฟังก์ชันนี้เพื่อลบคุณสมบัติและค่าออกจากตัวแปรได้อีกด้วย
SETPROPERTY สามารถใช้เพื่ออ้างอิงองค์ประกอบเฉพาะ หรือสามารถใช้เพื่ออ้างอิงเซลล์ไฮเปอร์บล็อก
หากต้องการคืนค่าจากคุณสมบัติของตัวแปร ให้ใช้ GETPROPERTY
เราไม่สามารถรับประกันลำดับของการจับคู่คีย์หรือคุณสมบัติ
ตัวอย่างเหล่านี้อิงตามแอปพลิเคชัน Samples และใช้คุณสมบัติชื่อ Unique และ Caption เพื่อจัดเก็บชื่อและคำอธิบายเฉพาะขององค์ประกอบ:
ไวยากรณ์
SETPROPERTY("XML_properties","key","property","value")
อาร์กิวเมนต์แรกของสูตรอาจเป็นตัวแปรหรือสตริงก็ได้
อักขระตัวแทน * สามารถใช้กับอาร์กิวเมนต์คีย์และคุณสมบัติเพื่อเขียนทับหรือลบหลายค่าพร้อมกัน
ตัวอย่างของคุณสมบัติและค่าเดียว
-
=SETPROPERTY(globalvariables.gv_property,"[Product]","Unique", "[Product].[All Tires].[Car Tires All Season]")
-
=SETPROPERTY(globalvariables.gv_property,reportobjects.Hyperblock4.Text, "Unique","[Product].[All Tires].[Car Tires All Season]")
-
=SETPROPERTY(globalvariables.gv_property,"reportvariables.rv_dimension.text","Unique", "reportvariables.rv_element.text")
ในทั้งสามตัวอย่าง มิติของผลิตภัณฑ์คือคีย์ และชื่อคุณสมบัติคือ 'Unique'
ในตัวอย่างแรก มิติของผลิตภัณฑ์และชื่อเฉพาะของผลิตภัณฑ์จะถูกระบุ ในตัวอย่างที่สอง ชื่อของไฮเปอร์บล็อกที่มีมิติผลิตภัณฑ์ถูกระบุ ตัวอย่างที่สามอ้างอิงถึงตัวแปรรายงานที่มีชื่อมิติและชื่อที่ไม่ซ้ำขององค์ประกอบ
ในข้อกำหนด XML คีย์จะสร้างชื่อแถว
ตั้งค่าหลายคุณสมบัติและค่า
SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})
ตัวอย่าง
=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
Tires].[Car Tires all Season]","Caption","Car Tires all Season")
หลายคีย์
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value")
แต่ละคีย์จะสร้างแถวในนิยาม XML ของตัวแปร
หรือใช้สูตร SETPROPERTY หลายสูตรในการดำเนินการหลายอย่างเพื่อเติมตัวแปร XML เดียว - ตัวอย่างเช่น เพื่อจัดเก็บมิติตัวกรองในรายงานแบบไดนามิก
ลบคุณสมบัติเดียว
SETPROPERTY("XML_properties", "key", "property","")
ตัวอย่าง
การดำเนินการนี้จะลบคุณสมบัติ Caption ออกจากตัวแปรที่เก็บชื่อที่ไม่ซ้ำและคำอธิบายขององค์ประกอบของมิติข้อมูลผลิตภัณฑ์
=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")
ลบคุณสมบัติหลายรายการ
=SETPROPERTY("XML_properties","key","property","","property,"")
ลบคุณสมบัติทั้งหมดของแถว
=SETPROPERTY("XML_propertes","key")
SETPROPERTY ในไฮเปอร์บล็อก
ฟังก์ชัน SETPROPERTY สามารถอ้างอิงเซลล์ไฮเปอร์บล็อกได้ เมื่อใช้กับไฮเปอร์บล็อก สามารถกำหนดชุดค่าผสมของคีย์ คุณสมบัติ และค่าในตัวแปร XML ได้:
- หนึ่งคีย์ที่มีหลายคุณสมบัติและคู่ค่าหลายคู่
- หลายคีย์พร้อมคุณสมบัติและคู่ค่าเดียว
- หลายคีย์พร้อมหลายคุณสมบัติและคู่ค่าหลายคู่
- หลายคีย์ที่มีหลายคุณสมบัติและหนึ่งค่า
ตัวอย่าง
ตัวอย่างเหล่านี้ใช้ไฮเปอร์บล็อกแนวตั้งในเซลล์ B2, B3 และ B4 และตัวแปรส่วนกลางที่เรียกว่าgv_SetProperty . เซลล์ B2 คือคอลัมน์คีย์ B3 คือคอลัมน์คุณสมบัติ และ B4 เป็นค่าที่เกี่ยวข้อง
หนึ่งคีย์ที่มีคุณสมบัติหลายรายการและคู่ค่า
=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)
หลายคีย์พร้อมคุณสมบัติและคู่ค่าเดียว:
=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")
หลายคีย์พร้อมหลายคุณสมบัติและคู่ค่าหลายคู่:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)
หลายคีย์พร้อมหลายคุณสมบัติและหนึ่งค่า:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")
การแก้ไขและการลบคุณสมบัติและค่า
เมื่อใช้ SETPROPERTY เพื่ออ้างอิงเซลล์ไฮเปอร์บล็อก จะสามารถทำการดำเนินการเหล่านี้ได้:
- ลบแถวออกจากข้อกำหนด XML
- ลบค่าเดียว
- ลบคุณสมบัติหลายรายการ
- อัปเดตหรือตั้งค่าเดียว
- อัปเดตหรือตั้งค่าหลายค่า
ตัวอย่าง
ลบแถวออกจากข้อกำหนด XML:
=SETPROPERTY(globalvariables.gv_setproperty,"Key")
ลบค่าเดียว:
=SETPROPERTY(globalvariables.gv_setproperty,"Key","")
=SETPROPERTY("XML_properties","key","property1","","property3","")
ตั้งค่าเดียว:
=SETPROPERTY("XML_properties","key","property","value")
ตั้งค่าหลายค่า:
=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")
เปลี่ยนค่าหลายค่าด้วยสัญลักษณ์แทนคีย์:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
หากต้องการเปลี่ยนทั้ง Value1 และ Value2 เป็น NewValue:
=SETPROPERTY("XML_properties"," key*
","property","new_value")
อักขระตัวแทนที่ระบุทั้งคีย์และสูตรเปลี่ยนค่าทั้งสอง
เปลี่ยนค่าหลายค่าด้วยอักขระตัวแทนแทนคุณสมบัติ:
<Table><Row name="Key1"><Property name="property1" value ="Value1"/>
<Property name="property2" value ="Value11"/></Row>
<Row name="Key2"><Property name="property1" value ="Value2" />
<Property name="property2" value ="Value21"/></Row></Table>
ในการเปลี่ยนค่าของ Property1 และ Property2 ของ Key1 ให้ใช้:
=SETPROPERTY("XML_properties","key","property*","new_value")
อักขระตัวแทนระบุทั้ง Property1 และ Property2 ของ Key1
หากต้องการเปลี่ยนคุณสมบัติของคีย์ทั้งสอง ให้ใช้อักขระตัวแทนแทนทั้งคีย์และคุณสมบัติ:
=SETPROPERTY("XML_properties"
,"key*","property*","new_value")