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