Now you see it, Now you dont!
This post demonstrates how to apply the ideas presented in Dynamic status update of Check Box components: Part2 to the dynamic selection of chart series.
One of the features introduced in Xcelsius 2008 SP3 was a dynamic series selection in charts.This long awaited addition addresses an old request for the ability to hide/show a chart series at run-time.
Now, all we need to do to set it up is to go to Appearance section in the chart properties, enable legend on theLayout tab, check Enable Hide/Show chart Series at Run-Time check box and accept the default value of Check Box in the Interaction combo box. At run time, next to the corresponding labels in the chart legend, we’ll get the check boxes that govern the display status of the chart series as shown in the following example of charting traffic trends by geo region.
This approach is quick and intuitive. It’s a big step forward and in many cases will serve its purpose. But there is still room for improvement. One of the limitations is an inability to reset all check boxes (or all in a group) at once. So, the traditional solution for toggling a display of chart series based on Check Box components and Excel logic still takes its place and can be enhanced with the methods explained in details in (Dynamic status update of Check Box components: Part2). The following model shows how to apply such a technique to the previous Hide/Show chart Series example.
All custom push buttons shown above the chart use the Status range (cells H3:H6) as the destination. The raw data is in the range P3:U6.
The range J2:N6 is the data source for the chart. Formulae in the range J2:N6 calculate values for the chart series. When the values in the Status range are 0s, the formulae in the corresponding rows in the range J2:N6 return empty strings and series that are based on those rows are not displayed. And when the values in the Status range are 1s, the formulae in the range J2:N6 return the raw data values and the display status of the chart series gets toggled.
Custom push buttons are created as described in Customizing a Push Button component in Xcelsius.
The buttons support All, Invert and None types of selection. The buttons serve to select only series in the corresponding groups (USA and Canada in this example). The check boxes are also designed as custom push buttons and used for changing the display status of the chart series for individual regions (e.g. just Portland or Seattle and Portland).
Select None functionally is just one click less than a combination of All and Invert selections. So, depending on our intentions, we can save an extra click for the user by adding this button, or exclude it from the design to save some space on the canvas and deal with fewer components. Yet another option, as a compromise between two, is to stack the All and None buttons and toggle their dynamic visibility.
With such an implementation, after clicking the All button it will become invisible, and the None button will be displayed instead on the same spot. In turn, clicking the None button will hide it and make All button available for the next logical action. Using this option might need some integration with the Invert button functionality.
The example in this post demonstrates one of the practical applications of the dynamic check box status update in Xcelsius and can be extended to the designs that support more complex rules for simultaneous selections of logically grouped items.
Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.