การใช้ตัวแปร XML ร่วมกับมิติตัวกรอง

รายงานไดนามิกไม่ขึ้นอยู่กับแหล่งข้อมูลเฉพาะ แต่จะใช้ตัวแปรและพารามิเตอร์รายงานเป็นตัวยึดสำหรับการเชื่อมต่อข้อมูลและคิวบ์ที่จำเป็น และสำหรับมิติ

ผู้ออกแบบรายงานไดนามิกจะไม่ทราบว่ารายงานจะใช้ฐานข้อมูลหรือโครงสร้างข้อมูลใด และไม่ทราบ เช่น จำนวนมิติ หรือจะใช้มิติใดเป็นมิติตัวกรอง ถ้าจะใช้รายงานในแดชบอร์ดและใช้มิติตัวกรองสำหรับการสื่อสารวิดเจ็ต ค่าที่เลือกจากมิติตัวกรองแต่ละมิติจะต้องเก็บไว้ แต่เนื่องจากไม่ทราบมิติข้อมูล จึงไม่สามารถกำหนดตัวแปรแต่ละตัวแปรและพารามิเตอร์แต่ละรายการให้กับแต่ละมิติได้ วิธีแก้ไขคือจัดเก็บค่าตัวกรองไว้ในตัวแปร XML ในรูปแบบที่ระบุ ก่อนมอบหมายตัวแปรนั้นให้กับพารามิเตอร์รายงานทูเปิล และนำมาใช้ในการสื่อสารวิดเจ็ตบนแดชบอร์ด

แนวทางแก้ไขนี้ยังเกี่ยวข้องกับการใช้สูตร SETPROPERTY หลายสูตรในการดำเนินการหลายอย่างเพื่อเติมตัวแปร XML เดี่ยวๆ

ตัวอย่างเช่น คุณมีรายงานที่มิติผลิตภัณฑ์และรอบระยะเวลาเป็นมิติตัวกรอง สิ่งที่ผู้ใช้เลือกจากมิติข้อมูลเหล่านั้นจะถูกส่งต่อไปยังตัวแปรรายงานที่เรียกว่า rv_product และ rv_period หลังจากนั้น ตัวแปรรายงานเหล่านั้นจะถูกอ้างอิงโดยสูตร SETPROPERTY เพื่อเติมตัวแปรรายงานตัวแปรที่สามที่เรียกว่า rv_XMLFilters

สำหรับมิติตัวกรองผลิตภัณฑ์ สูตร SETPROPERTY นี้จะนำมาใช้ภายในการดำเนินการตั้งค่าพารามิเตอร์:

=SETPROPERTY(ReportVariables.rv_XMLFilters,"[Product]","Unique",ReportVariables.rv_product.text)

สำหรับมิติรอบระยะเวลา ใช้สูตรนี้:

=SETPROPERTY(ReportVariables.rv_XMLFilters,"[Period]","Unique",ReportVariables.rv_period.text)

เมื่อผู้ใช้เลือกจากตัวกรองผลิตภัณฑ์และรอบระยะเวลา ตัวแปร XMLFilters จะถูกเติมด้วยค่าจาก rv_product และ rv_period ตัวอย่างเช่น:

<Table><Row name="[Period]"><Property name="unique" value="[Period].[All Years].[2012]" /></Row><Row name="[Product]"><Property name="unique" value="[PRODUCT].[All Tires].[Special Offers]" /></Row></Table>

เมื่อกำหนดตัวแปร XML ให้กับพารามิเตอร์รายงานทูเปิล เราใช้ค่าที่อยู่ในตัวแปรสำหรับการสื่อสารวิดเจ็ตได้ถ้ารายงานปรากฏในแดชบอร์ด