1. DashBoard ที่ 1 จะแสดงกราฟเป็น Bar Chart
2. DashBoard ที่ 2 จะ Passing Parameter จาก DashBoard ที่ 1 จะแสดงกราฟเป็น Line Chart
เริ่มต้นให้เราสร้าง DashBoard ที่ 1 และ 2 ให้เรียบร้อย ซึ่ง DashBaord ที่ 2 ยังไม่ต้องสร้างอะไรเลยก็ได้
ตัวอย่าง DashBaord 1
ต่อมาให้ไปที่ Browse File ไป Path ที่เราสร้าง DashBaord ที่ 2 ไว้ และเลือก DashBoard 2 จากนั้นกด Open in a new window ให้เรา copy Url ไว้
ในที่นี้ Url คือ "http://localhost:8080/pentaho/api/repos/%3Apublic%3ABar%20Chart%20Drill%20down%20Dashboard%20Example%3ADashboard2%20drilldown%20detailed.wcdf/generatedContent"
ไปที่ DashBaord ที่ 1 Components Panel มองหา Property ของ Bar Chart ที่ชื่อว่า "clickAction" กดปุ่ม "..." ขึ้นมาจะพบ Javascript Wizard
พิมพ์ Code นี้ลงไป
function f(scene) {ซึ่ง url=' ' ให้เราใส่ Url ของ DashBaord ที่ 2 ลงไป จากนั้นกด OK
var vars = scene.vars;
var s = vars.series.value;
var c = vars.category.value;
var v = vars.value.value;
alert("series: " + s + "\ncategory: " + c + "\nvalue: " + v);
url='http://localhost:8080/pentaho/api/repos/%3Apublic%3ABar%20Chart%20Drill%20down%20Dashboard%20Example%3ADashboard2%20drilldown%20detailed.wcdf/generatedContent';
window.location =url+'?param_Quarter='+c;
}
ซึ่ง Code ส่วนนี้จะทำงานเมื่อเรากดคลิกที่ Bar ใด Bar หนึ่งของ Chart จะแสดง Alert ว่ามี Series, Category และ Value คืออะไร เท่าไหร่บ้างของ Bar นั้น
จากนั้นจะทำการ window.location = url+'?ชื่อ Parameter ที่จะใช้รับ='+Value
ซึ่ง Value ในที่นี้คือตัวแปร c ซึ่งตัวแปร c จะเป็น Category ของ Bar นั้น
ทดลองคลิกดูจะเกิด Alert ขึ้น และจะแสดงว่ามี Series, Category และ Value คืออะไร เท่าไหร่บ้าง จากนั้นจะไป DashBoard ที่ 2 ซึ่งจะยังไม่เกิดอะไรขึ้น แต่ให้สังเกตุ Url จะมี "?param_Quarter=Q3" ต่อเข้ามา
จากนั้นเราจะไปทำ DashBoard ที่ 2 ต่อเมื่อมีการส่งค่า Parameter มาแล้ว เราจะต้องสร้าง Generic แบบ Custom parameter มารับ โดยตั้งชื่อให้เหมือนกับที่ส่งมา "param_Quarter"
ใน Property ที่ชื่อว่า Javascript code ให้ใส่ Code ดังนี้
param_Quarter=Dashboards.getQueryParameter("param_Quarter");เป็นการ Get Parameter ที่ส่งมาที่ชื่อว่า "param_Quarter" ใส่ลงในตัวแปร "param_Quarter" ซึ่งเป็นชื่อของ Generic นี้
จากนั้นให้ Line Chart ของเรารับค่า Parameter ตามปกติ และส่งค่า Parameter นี้ไป Query ด้วย
ทดสอบ Save และ Preview
เลือก Category : Q2
Url ที่เพิ่ม
ที่ DashBoard 2 จะแสดงเดือนใน Quarter ที่ 2
ไม่มีความคิดเห็น:
แสดงความคิดเห็น