วันพุธที่ 23 กุมภาพันธ์ พ.ศ. 2554

Assign multiple values in multiselection parameter in reporting service

เคยพบปัญหาที่ไม่สามารถตอบสนองผู้ใช้งานได้ในเรื่องของการดูรายการข้อมูลที่เฉพาะเจาะจงลงไป
ตามที่ระบุ เนื่องจากมีรายการเป็นจำนวนมาก  จากเดิมที่มีการสร้าง Parameter ที่เป็นแบบ Multi-Selection 
เพื่อตอบสนองความต้องการให้ผู้ใช้แล้ว 

ตัวอย่างเช่น Dimension ที่เป็นสาขาร้านค้าหลายพันสาขา
แต่ผู้ใช้ต้องการระบุร้านค้าประมาณ 700 สาขา กรณีนี้หากไม่ใช้ Adhoc Query  ในการจัดการแล้ว
การที่ผู้ใช้จะมานั่งคลิ๊กเลือกร้านค้าทั้งหมดที่ต้องการในการรันรายงานเพียงครั้งเดียวนั้นแทบจะเป็นไปไม่ได้เลย อีกทั้งยังอาจจะเกิดความผิดพลาดในการเลือกข้อมูลได้อีก ดังนั้นจึงได้หาวิธีการเพื่อแก้ปัญหานี้ขึ้น

และได้พบวิธีการคือ ทำการ Generate Member Unique ID ของ Dimension ที่ต้องการมาเป็น Text 
และเพิ่ม String Parameter ในรายงานขึ้นมา 1 ตัวเพื่อรองรับ Member ID ที่ได้ทำการ Generate มาแล้ว
เพื่อนำไป Assign ต่อยัง Multilection parameter ที่มีอยู่ก่อนแล้ว โดยเขียน Expression ที่ Default value ของ Parameter ที่ต้องการให้ถูก Assign ค่า

ตัวอย่าง Expression คือ =SPLIT(Parameters!para_MID_Manual.Value,",")
และ MID ที่ Generate text ได้คือ
[MID].&[100024],[MID].&[100045],[MID].&[100074]

จากตัวอย่างยกมาเพียงแค่ 3 Members เท่านั้น
เพียงเท่านี้ก็จะช่วยลดกระบวนการทำงานที่ยุกยากซับซ้อนของผู้ใช้งานได้แล้วครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น