Build It, Dream It: Self-Service Dashboard

By popular request, this video provides a step-by-step walk-through on how to build an a-la-carte style self-service dashboard for your users in Dundas BI. It is expected in this video that you already understand the basics of Dundas BI before proceeding.

If you're interested in using the scripts I've used in the video, feel free to acquire them from below:

script 1: - Data Table - On Click

// Hit test the table to see what was clickedvar args = dundas.Utility.getAdapterHitTestArguments(e.originalEvent, table1);var rowIndex = table1.control.hitTest(args.offsetX, args.offsetY,;var dashboardName = table1.metricSetBindings[0].dataResult.cellset.rows[rowIndex].members[0].caption;var dashboardId = table1.metricSetBindings[0].dataResult.cellset.rows[rowIndex].members[1].caption;// Update the parameter to save what was selectedvar canvasService = this.getService("CanvasService");var viewParameter = canvasService.canvasAdapter.control.viewParameters[window.selectedPanel]; // Use the stored 'Selected Panel' to determine the parameter to setviewParameter.parameterValue.values[0].uniqueName = dashboardId+".Id";viewParameter.refreshAllAdapters();viewParameter.invalidateParameterValueLastModifiedTime();

Script 2: Data Label - On Data Changed

var dashboardId = this.metricSetBindings[0].dataResult.cellset.rows[0].members[1].caption;dashboardId = dashboardId.toLowerCase(); // Needed otherwise the SubCanvasViewContainer, fails to load.subCanvasViewContainer1.setTarget(dashboardId, dundas.entities.ViewType.DASHBOARD);

Script 3: Ready Interaction


About the Author

Jeff Hainsworth

Jeff Hainsworth is a Senior Solutions Architect at Dundas Data Visualization with over a decade and a half of experience in Business Intelligence. He has a passion for building, coding and everything visual – you know, shiny things! Check out "Off the Charts... with Jeff", his platform for great content on all things analytics, data visualizations, dashboards, and business intelligence. There’s something for everyone!