Aktive Steuerung der Skalierung von Diagrammen in Power BI mittels Measures

Die Skalierung von Diagrammen in Power BI kannn seit geraumer Zeit dynamisch - d.h. mittels Measures - gesteuert werden. In diesem Beitrag wird ein einfaches Beispiel gezeigt und die grundsätzliche Ermittlung des Skalierungsfaktors mit der DAX Iterator Funktion MAXX() vorgestellt.

Ausgangssituation

Die automatische Skalierung in Power BI ist nicht immer optimal, in diesem Fall hier wird etwas zu groß skaliert, sodaß unnötig viel Platz oberhalb der Säulen bleibt:

Aktive Steuerung

Die Ermittlung des Skalierungsfaktors erfolgt über die DAX Iterator Funktion MAXX(). Im vorliegenden Fall wird die Berechnung einzeln für die beiden Measures ACTUAL und BUDGET durchgeführt und dann der größere Wert aus den beiden Teilergebnissen ermittelt:

SCALE Column Chart = 
// Ermittlung des größten Periodenwertes in der aktuellen Selektion, die zeitliche Ermittlungsebene ist vordefiniert

VAR var_ACT = 
    MAXX(
        VALUES('Dim Dates'[Month w/Year]);
        [ACTUAL]
    )

VAR var_BUD =
    MAXX(
        VALUES('Dim Dates'[Month w/Year]);
        [BUDGET]
    )

RETURN
    MAX(var_ACT; var_BUD) * 1 // der Faktor dient zur Steuerung der Belegung der Diagrammfläche
    

Grundsätzlich funktioniert die MAXX() Berechnung so, daß im ersten Berechnungsschritt eine Tabelle mit den Monaten sowie den ACTUAL bzw. BUDGET Werten je Monat erzeugt wird und im zweiten Schritt der Maximalwert dieser Datenreihe ermittelt wird. Auf der Total Ebene des Matrix Visuals - dieses dient nur zur Veranschaulichung - wird damit der größte Monatswert der beiden Datenreihen ACTUAL und BUDGET ermittelt.

Anstelle der VALUES() Tabellenfunktion könnte natürlich auch DISTINCT() oder genauso auch ALLSELECTED() verwendet werden. Die Verwendung von ALL() ist jedoch nicht empfehlenswert, da bei einer direkten Filterung (bspw. mit einem weiteren Slicer) auf das Feld "Month w/Year" die ALL() Funktion diesen Filter ignorieren würde.

Für die Skalierung zählt ausschließlich dieses Berechnungsergebnis auf der Total Ebene, die Berechnungsergebnisse auf der Monatsebene spielen keine Rolle für die Skalierung des Charts. Wichtig ist auch zu sehen, daß die Ermittlungsgranularität des Skalierungsfaktors auf die Granularität der Visualisierung abgestimmt sein muß (hier: "Month w/Year").

Die Y-Achse des Säulendiagramms wird hier bereits mit dem Measure "SCALE Column Chart" gesteuert, auch wenn dieses mit dem Faktor "1" noch nicht optimal abgestimmt ist:

Das Setting erfolgt über die Measure-Steuerung des Einstellungswertes für den Maximalwert der Y-Achse:

Wird der Faktor im Measure jetzt von "1" auf "1,2" erhöht, dann erreichen die Balken nicht mehr den oberen Rand der Diagrammfläche:

Die Bestimmung dieses Faktors hängt in der Praxis von der konkreten Ausgestaltung des Visuals ab (bspw. Aktivierung von Labels, usw.) und kann durch Trial & Error rasch abgeschätzt werden.

Evaluierung

Die aktive Steuerung der Skalierung ist in einem Standardreport von Power BI nicht unbedingt notwendig, doch es lässt sich die Darstellungsqualität damit optimieren. Darüber hinaus gibt es zahlreiche Anwendungsfälle in der Praxis, in denen eine aktive Steuerung der Skalierung dann zwingend notwendig ist:

  • Gemeinsame Skalierung von zwei oder mehreren Charts
  • Fortgeschrittene Labels (bspw. 2 reihig)
  • Integriertes Subdiagramm in ein Hauptdiagramm (über die Funktion "Fehlerindikatoren")

Ein wichtiges praktisches Thema ist die Drilldown-Funktion: diese muß in Visuals mit aktiver Steuerung der Skalierung deaktiviert werden, da sich die Ermittlungsebene im Skalierungsfaktor nicht dynamisch an die Drilldownebene anpassen lässt. Eine Alternative zum Drilldown kann aber mit einem Bookmark- oder Fields-Parameter-Umschalter erreicht werden (allerdings mit deutlichem Mehraufwand).

Über den Autor

Blog auf Feedly abonnieren

Kategorien

Verwandte Beiträge

Power BI Camp - Präsenztrainings in Wien und Nürnberg!

Dashboarding mit Power BI, DAX & Datenmodellierung und Power Query. Drei Einzelmodule oder als ganze Trainingswoche - für Einsteiger und Fortgeschrittene!

Termine 2022

Wien: (7./8. Februar 2022)
und 25.-28 April 2022
Nürnberg: (14./15. Februar 2022)
und 9.-12. Mai 2022

Jetzt buchen und Rabatt sichern.

Jetzt buchen!

Leave a Replay

Schreibe einen Kommentar

Kostenlos zum Newsletter anmelden

Ihre Anfrage

Schicken Sie uns Ihre Fragen und Anregungen!