Das Video Tutorial "IBCS Multi-Tier Column" von Injae Park ist sehr beeindruckend und hat mich dazu veranlasst, ein daraus abgeleitetes und etwas vereinfachtes Tutorial für die verbesserte Gestaltung des Säulendiagramms in Zusammenhang mit IST- und PLAN-Daten (ohne Forecast) bereitzustellen. Im vorangehenden Teil 1 wurde gezeigt, wie die Informationsqualität der Darstellung von IST- und PLAN-Daten mit einigen Kniffen deutlich gesteigert werden kann. In diesem Teil 2 wird jetzt aufbauend darauf die Visualisierung von IST-/PLAN-Abweichungen thematisiert.
IBCS ist ein Creative-Commons Projekt zur Schaffung von Standards zur konzeptionellen und visuellen Gestaltung von Berichten und Diagrammen. Die hier vorgestellten Schritte zur Verbesserung der visuellen Darstellung von IST- und PLAN-Daten orientieren sich an den IBCS Standards, jedoch ohne den Anspruch auf Vollständigkeit zu stellen.
Vorher-Nachher
Die Darstellung von IST-/PLAN-Abweichungen kann mit einigen Kniffen als richtig skaliertes Subdiagramm dargestellt werden und damit die Aussagekraft der Visualisierung massiv erhöht werden:
Schritt für Schritt Anleitung
Die Umsetzung wird im folgenden Schritt für Schritt erläutert.
Schritt 1: Ausgangsituation
Das IST-PLAN Diagramm aus Teil 1 dieser Blogbeitragsserie bildet unsere Ausgangssituation:
Die Berechnung der IST-PLAN-Abweichungen erfolgt lediglich innerhalb des definierten Zeitraums vom ersten verfügbaren BUDGET-Wert bis zum letzten verfügbaren ACTUAL-Wert:
∆ ACT-BUD =
CALCULATE(
[ACTUAL] - [BUDGET (limited)];
FILTER(
'Dim Dates';
'Dim Dates'[Date] >= [Info Lowest Date (BUD)]
&& 'Dim Dates'[Date] <= [Info Highest Date (ACT)]
)
)
Die Ermittlung des zugrundeliegenden BUDGET (limited) basiert ebenfalls auf der Begrenzung auf den letzten verfügbaren ACTUAL-Wert:
BUDGET (limited) =
CALCULATE(
[BUDGET];
Filter(
'Dim Dates';
'Dim Dates'[Date] <= [Info Highest Date (ACT)]
)
)
Schritt 2: Vorbereitung
Das Diagramm wird zuerst vergrößert, um Platz für das Subdiagramm zu schaffen:
Als nächstes wird der Diagrammtyp von Clustered Column Chart auf Line and Clustered Column Chart geändert:
Diese Umstellung bedingt leider, daß die Formate für die Columns nochmals definiert werden müssen und auch die Data Labels neuerlich konfiguriert werden müssen.
Schritt 3: Skalierung für das Subdiagramm
Jetzt wird das Measure zur Skalierung der Y-Achse eingesetzt, um Platz für das Subdiagramm zu schaffen:
Hier die Measure Definition (mehr dazu hier) ...
SCALE Variance Chart =
VAR var_ACT =
MAXX(
ALLSELECTED('Dim Dates');
[ACTUAL]
)
VAR var_BUD =
MAXX(
ALLSELECTED('Dim Dates');
[BUDGET]
)
VAR var_ACT_BUD =
MAXX(
ALLSELECTED('Dim Dates');
[∆ ACT-BUD]
)
VAR var_max =
MAX(
MAX(var_ACT; var_BUD);
var_ACT_BUD
)
RETURN
var_max * 2
… und die Aktivierung im Säulendiagramm:
Wichtig ist dabei auch, die Skalierung für den Minimum-Wert auf "0" zu setzen oder bei Bedarf auch dafür ein Measure zur dynamischen Steuerung zu erstellen.
Schritt 4: Achse für das Subdiagramm erzeugen
Jetzt werden zwei weitere Measures definiert, die in weiterer Folge als Träger für das Subdiagramm verwendet werden:
Delta BUD Line negative = [SCALE Variance Chart] * 0,8
Delta BUD Line positive = [SCALE Variance Chart] * 0,8
Der Faktor von 0,8 ist ein Erfahrungswert, der bei Bedarf auch adaptiert werden kann. Jetzt werden diese beiden (identen) Measures in den Linienbereich des Kombidiagramms hinzugefügt - dabei werden 2 übereinander liegende idente horizontal verlaufende Linien erzeugt:
Zum besseren Verständnis:
Das zugrundliegende Measure SCALE Variance Chart ermittelt einen über alle Perioden hinweg konstanten Wert, daher verlaufen die beiden Linien im Diagramm oben horizontal:
Schritt 5: Achse für das Subdiagramm formatieren
Im nächsten Schritt werden die beiden horizontalen Linien so formatiert, daß diese wie eine typische X-Achse aussehen:
Zuerst wird die Farbe der beiden Linien auf grau geändert und die Strichstärke auf das Minimum von 1 px reduziert:
Jetzt werden die Data Labels für die beiden neuen Measures deaktiviert:
Abschließend wird die Values Anzeige auf der sekundären Y-Achse deaktiviert:
Schritt 6: Darstellung der Abweichungen im Subdiagramm mittels Error Bars
Jetzt kommen wir zum Kern der Sache - die IST-PLAN-Abweichungen werden mittels Error Bars auf die beiden horizontalen Linien visualisiert!
Zuerst werden die folgenden beiden Measures angelegt:
∆ ACT-BUD negative =
IF(
[∆ ACT-BUD] < 0;
[∆ ACT-BUD];
BLANK()
)
∆ ACT-BUD positive =
IF(
[∆ ACT-BUD] >= 0;
[∆ ACT-BUD];
BLANK()
)
Jetzt werden in der Analytics Pane die Errror Bars aktiviert:
- Auswahl des Measures Delta BUD Line negative -> belegen des Lower Bound Error Bars mit dem Measure ∆ ACT-BUD negative belegen
- Auswahl des Measures Delta BUD Line positive-> belegen des Upper Bound Error Bars mit dem Measure ∆ ACT-BUD positive belegen
- Option Enabled aktivieren
- Relationship to measure von "Absolute" auf "Relative" ändern
Schritt 7: Formatierung der Abweichungen im Subdiagramm
Im nächsten Schritt werden die Error Bars in der Optik eines normalen Balkendiagramms formatiert:
Dazu werden die beiden Error Bars folgendermaßen konfiguriert:
- Marker Farbe auf Rot bzw. Grün einstellen
- Marker Width auf Maximalwert "10 pt" erhöhen
- Marker Shape "None" auswählen
- Marker Border auf "0 pt" stellen
Schritt 8: Data Labels für das Subdiagramm
Im letzten Schritt werden die Data Labels für die Error Bars aktiviert:
Dazu werden die folgenden Schritte gesetzt:
- Error Labels "Enabled" aktivieren
- Label Format "Relative (numeric)" auswählen -> damit wird sichergestellt, daß die korrekten Werte gezeigt werden (da die Absolutwerte der beiden horizontalen Linien aufgrund der Skalierung erhöht sind)
Ausblick
Im Video Tutorial von Injae Park werden nicht nur 2 Scenarien sonder 3 (ACT, BUD, FC) visualisiert und zusätzlich zum Subdiagramm für die absoluten Abweichungen ein weiteres Subdiagramm für die % Abweichungen hinzugefügt.
Quellen
Video Tutorial "IBCS Multi-Tier Column" von Injae Park