การใช้กล่องคำสั่งผสมเป็นตัวกรอง

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

ถ้าคุณใช้กล่องคำสั่งผสมในลักษณะนี้ สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่ามีการซิงโครไนซ์กล่องคำสั่งผสมและค่าต่างๆ แล้ว ตัวอย่างเช่น ไม่ควรปล่อยให้ผู้ใช้เลือกวันที่จากกล่องคำสั่งผสม แต่เห็นค่าสำหรับวันที่อื่นในรายงานที่เชื่อมโยง

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

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

ตัวอย่าง

ตัวอย่างนี้แสดงให้เห็นว่ากล่องคำสั่งผสมและค่าต่างๆ จะไม่ซิงโครไนซ์กันได้อย่างไร:

รายงานจะแสดงกล่องคำสั่งผสมที่มีรายการวันที่ ตามค่าเริ่มต้น วันที่คือทุกปี

กล่องคำสั่งผสมจะส่งผลลัพธ์ไปยังตัวแปร แต่ไม่มีตัวแปรอินพุต ตัวแปรถูกใช้เป็นพารามิเตอร์รายงาน

คุณวางรายงานบนแดชบอร์ดพร้อมรายงานอื่นๆ ที่ถูกเชื่อมโยง

คุณเลือก 2004 จากคำสั่งผสม ซึ่งจะส่งผ่าน 2004 ไปยังตัวแปร

วิดเจ็ตที่เชื่อมโยงบนแดชบอร์ดจะอัปเดตโดยอัตโนมัติเพื่อแสดงค่าในส่วนที่เกี่ยวกับ 2004

คุณบันทึกแดชบอร์ด

ตามค่าเริ่มต้น ค่าของพารามิเตอร์จะถูกบันทึกไว้พร้อมกับแดชบอร์ด ดังนั้น ค่าปัจจุบันของพารามิเตอร์ (2004) จะถูกบันทึก

คุณออกจากระบบแล้วโหลดแดชบอร์ดอีกครั้ง

คุณคาดว่าจะเห็น 2004 ถูกเลือก - แต่กล่องคำสั่งผสมได้เปลี่ยนค่านี้เป็นทุกปี

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

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

แก้ไขปัญหานี้ได้สองวิธี วิธีแรกดำเนินการได้ใน Application Studio อีกวิธีหนึ่งคือจัดการจากภายในแดชบอร์ด วิธีแก้ไขจากภายใน Application Studio คือใช้ตัวแปรเดียวกันทั้งกับตัวแปรเอาต์พุตและตัวแปรอินพุต

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