Hervorhebung der Abweichung zwischen Chart-Elementen bei Klick

In den graphomate charts gibt es die Möglichkeit Abweichungen zwischen Elementen besonders hervorzuheben. Dazu wird die Option "Highlighting" verwendet. Diese Anleitung zeigt, wie unter Nutzung der Skriptsprache von Design Studio das Highlighting zur Laufzeit per Klick auf die entsprechenden Elemente aktiviert und deaktiviert werden kann. Dies wird durch eine Sequenz von zwei Klicks erreicht. Das zuerst angewählte Element bildet die Basis für die Abweichung und das zweite den Wert zu dem die Abweichung berechnet wird. 

Schritt-für-Schritt-Anleitung

  1. Zunächst muss das "single Highlighting" in den additional properties eingeschaltet werden und ein Initialzustand gewählt werden, der durch zwei zu vergleichende Elemente und ihre Datenserien definiert wird.


  2. Daraufhin kann eine globale Skriptvariable definiert werden (bspw.: "step"). Dies geschieht in den standard properties der BI-Applikation unter "Skripting". Sie sollte vom Typ integer sein und einen default value von 0 besitzen.


  3. Folgendes BIAL-Skript kann in der "on element clicked"-Methode des charts verwendet werden, um die Elemente per Klick auszuwählen, deren Differenz durch das Highlighting dargestellt werden sollen.

    on element clicked
    /*Explanation: If the user clicks an element for the first time, the variable “step” is “0”. 
    Because of this the StartIndex and the StartSeries are set to the clicked values. 
    After this the variable “step” is changed to “1”. If the user clicks on another element, 
    the EndIndex and the EndSeries are set to the clicked values. After this the variable “step” 
    is changed to “0” again, which means that the next click on an element will change the 
    StartIndex and the StartSeries again.*/
    
    if (step==0){
    	GRAPHOMATECHART_1.setHighlightStartIndex(GRAPHOMATECHART_1.getClickedElementIndex());	
    	GRAPHOMATECHART_1.setHighlightStartSeries(GRAPHOMATECHART_1.getClickedSeriesIndex());
    	step = 1;
    }
    else if (step==1){
    	GRAPHOMATECHART_1.setHighlightEndIndex(GRAPHOMATECHART_1.getClickedElementIndex());
    	GRAPHOMATECHART_1.setHighlightEndSeries(GRAPHOMATECHART_1.getClickedSeriesIndex());
    	step = 0;
    }


Verwandte Artikel