DeltaMaster clicks 02/2008

Sichtabhängige Formatierung von Werten

PDF Download

Liebe Datenanalysten,

seit Jahrhunderten übt die Kreiskonstante Pi eine besondere Faszination auf Mathematiker aus. Im Bestreben, sie möglichst gut näherungsweise zu bestimmen, haben sie verschiedenste Algorithmen hervorgebracht und inzwischen über eine Billion von Nachkommastellen gefunden (und eine vor dem Komma, die Drei). Das sei „völlig nutzlos, aber ein irres Gefühl“, so wird Professor Albrecht Beutelspacher vom Mathematischen Institut der Uni Gießen zitiert.

Vor derlei Gefühlsduselei ist im Controlling zu warnen; viele Stellen verschaffen hier nicht einmal einen theoretischen Erkenntnisgewinn, sondern sie verstellen etwas, nämlich den Blick auf die wesentlichen Zusammenhänge. Wir wollen deshalb in den vorliegenden clicks! beleuchten, wie Sie die Zahlen in Ihren Berichten zähmen und angemessen formatieren.

Herzliche Grüße
Ihr Team von Bissantz & Company

Wie lesbar und verständlich ein Bericht ist, hängt nicht zuletzt von der Formatierung der Zahlen ab. Mit „Formatierung“ meinen wir hier nicht die Gestaltung des Druckbilds, wie Fettung, Schriftgröße, Schriftart und Ähnliches, sondern aus wie vielen und welchen Ziffern und Zeichen unsere Ausgabe bestehen soll. Zu vermeiden ist Scheingenauigkeit: Wem wäre damit gedient, wenn Millionenbeträge bis auf den Cent genau ausgewiesen werden? In welcher Entscheidungssituation sollte es darauf ankommen?

Vor diesem Hintergrund wollen wir im Folgenden der Frage nachgehen, wie DeltaMaster Zahlen formatiert und wie Sie darauf Einfluss nehmen können.

Regions- und Sprachoptionen von Windows

Grundsätzlich ist die Darstellung in DeltaMaster abhängig von den Einstellungen, die für den gesamten Rechner gelten, auf dem DeltaMaster ausgeführt wird. Diese sogenannten Regions- und Sprachoptionen werden in der Systemsteuerung von Windows angepasst. Hier stellt man etwa ein,

  • ob ein Komma oder ein Punkt die Nachkommastellen und Tausendergruppen abtrennen soll,
  • wie negative Zahlen anzuzeigen sind,
  • welches Währungssymbol nach- oder vorgestellt wird,
  • in welcher Reihenfolge der Tag, der Monat und das Jahr in Datumsangaben stehen

und einiges mehr.

Anpassung der regionalen Einstellungen für die Regions- und Sprachoptionen

All diese Einstellungen wirken auch auf die Darstellung in DeltaMaster, was ein großer Vorteil ist, wenn Reports in verschiedene Länder verteilt werden sollen: Der Empfänger sieht die Auswertungen dann stets in der ihm vertrauten Präsentationsform, da diese von seinem Rechner abhängt und nicht von dem des Berichtsredakteurs.

Darüber hinaus ist es möglich, für Analysewerte und für berechnete Elemente individuelle Anpassungen vorzunehmen; dennoch wird immer wieder auf die Windows-Einstellungen zurückgegriffen.

Standardformate in DeltaMaster

Für jede Kennzahl ist in den Analysewerteigenschaften auf der Registerkarte Formatierung festgelegt, wie die Werte angezeigt werden sollen.

Festlegung der Anzeige der Werte auf der Registerkarte Formatierung in den Analysewerteigenschaften

Für berechnete Elemente, zum Beispiel eine Plan-Ist-Abweichung, sind nahezu dieselben Optionen vorgesehen, die Sie im Editor für berechnete Elemente durch Anklicken des Links hinter Formatierung erreichen.

Festlegung der Anzeige der Werte auf der Registerkarte Formatierung im Editor für berechnete Elemente

Meist müssen Sie sich über die Formatierung zunächst keine Gedanken machen – DeltaMaster weist den Kennzahlen (und Elementen) von sich aus ein Format zu. Das ist entweder eine Zahl, die bei Werten kleiner 100 mit zwei und ansonsten ohne Nachkommastellen ausgewiesen wird, oder eine Prozentzahl. Letzteres wählt DeltaMaster automatisch aus, wenn Sie einen Quotientenwert als neuen Analysewert anlegen oder wenn Sie im Editor für berechnete Elemente eine relative Abweichung definieren. In betriebswirtschaftlichen Anwendungen haben sich diese beiden Möglichkeiten bestens bewährt.

Eine Zahl im allgemeinen Format wird in Abhängigkeit von der Wertgröße entweder in wissenschaftlicher Notation („1,08E+07“) oder als Ganzzahl wiedergegeben.

Die Anzahl der Nachkommastellen kann individuell festgelegt werden. Ob diese aber mit einem Punkt oder mit einem Komma markiert werden, bestimmt dann wieder Windows, wie oben erläutert; dasselbe gilt für Tausendergruppen, das Vorzeichen usw.

Ganz unmittelbar ist der Zusammenhang mit der Systemsteuerung auch bei Datumsangaben erkennbar: Die Optionen Datum und Uhrzeit, langes/kurzes Datum und lange/kurze Uhrzeit beziehen sich auf die gleichnamigen Einstellungen dort.

Die Zeitspanne eignet sich für Kennzahlen wie Vertragslaufzeiten, Durchlaufzeiten, die Dauer von Telefongesprächen, Lieferfristen und viele andere Zeitmaße. Anstatt die Dauer beispielsweise als eine große Summe von Sekunden auszudrücken, erhält man damit eine Einteilung in Tage, Stunden, Minuten und Sekunden.

Formatierungszeichenfolgen

Individuellere Formate als die oben beschriebenen Standardfälle lassen sich mit .NET-Formatierungszeichenfolgen (.NET Format Strings) erzielen, welche als Zeichenfolge in das entsprechende Eingabefeld eingetragen werden. Weiterhin ist es bei Analysewerten (nicht jedoch bei berechneten Elementen) möglich, das Zahlenformat dynamisch festzulegen, zum Beispiel in Abhängigkeit von der jeweils aktuellen Sicht. Dazu bedient man sich eines MDX-Ausdrucks, der einen Format-String als Ergebnis zurückliefert; mehr dazu weiter unten.

Die Formatierungszeichenfolgen bestehen aus einem oder (meist) mehreren Platzhaltern, welche je nach darzustellendem Wert durch Zahlen, Ziffern oder Zeichen ersetzt werden. Wer in Excel schon einmal mit einem benutzerdefinierten Zahlenformat wie „#.##0“ zu tun hatte, wird mit dem Grundgedanken vertraut sein. Der Vorrat an Zeichen und Kombinationsmöglichkeiten, die das Ausgabeformat beeinflussen, ist sehr groß. Eine vollständige Dokumentation würde den Rahmen und das Ansinnen der DeltaMaster clicks! sprengen – wir wollen uns hier auf einige typische Anwendungsfälle konzentrieren.

SymbolNameErläuterung, Beispiel
00-PlatzhalterSteht für eine Ziffer. Wenn es sich dabei um führende Nullen vor dem Dezimaltrennzeichen oder um Nullen ganz am Ende der Zahl nach dem Dezimaltrennzeichen handelt, wird eine „0“ ausgegeben. So lassen sich Zahlen mit einer bestimmten Länge erzeugen. Beispielsweise würde 3,14 mit dem Format „000.000“ als „003,140“ angezeigt. Begrenzen lässt sich damit die Zahl der Stellen nach dem Dezimaltrennzeichen, aber nicht die der davor – links wird automatisch „aufgefüllt“, wenn weniger Platzhalter angegeben als Stellen vorhanden sind.
#ZiffernplatzhalterSteht für eine Ziffer, wie oben, allerdings werden führende Nullen und Nullen am Ende der Zahl nach dem Dezimaltrennzeichen nicht angezeigt. Daraus folgt auch, dass ein Wert von 0 gar nicht angezeigt wird. Die Zahl 3,14 würde im Format „###.###“ als „3,14“ ausgegeben.
.
(Punkt)
DezimaltrennzeichenDer erste Punkt in der Formatzeichenfolge bestimmt, wo das Dezimaltrennzeichen stehen soll; er ist also erforderlich, wenn eine bestimmte Anzahl von Nachkommastellen gewünscht ist. Wie das Dezimaltrennzeichen angezeigt wird (als Punkt wie im angelsächsischen Raum oder als Komma wie im deutschsprachigen), hängt von der Systemsteuerung ab; im Format-String ist immer ein Punkt zu verwenden.
,
(Komma)
Tausendertrennzeichen und
Zahlenskalierung
Das Komma hat zwei Bedeutungen: Steht es zwischen zwei Ziffern- oder 0-Platzhaltern, so werden Tausendertrennzeichen ausgegeben (und zwar die, die in der Systemsteuerung festgelegt sind). Die Zahl 3140 ergibt mit „#,#“ dann also „3.140“. Wenn am Ende der Formatzeichenfolge oder direkt vor dem Punkt (als Platzhalter für das Dezimaltrennzeichen) ein oder mehrere Kommas stehen, dann wird der Wert für jedes Komma durch 1000 dividiert. So würde ein Wert von 3.500.000 mit der Formatierung „#,,“ zweimal durch 1000 dividiert und damit als „4“ erscheinen; gerundet wird von der Null weg.
%ProzentplatzhalterEin damit formatierter Wert wird mit 100 multipliziert und in der Ausgabe zusammen mit dem Prozentzeichen eingefügt.
E0
E+0
E-0
Wissenschaftliche NotationIn wissenschaftlicher Notation werden Zahlen als Vielfache von Zehnerpotenzen angezeigt.
\EscapezeichenMit dem „Backslash“ wird die Platzhalter-Wirkung des folgenden Zeichens aufgehoben, sodass es nur noch als ebendieses Zeichen in die Ausgabe eingeht. Um also ein Prozentzeichen auszugeben, ohne den Wert vorher mit 100 zu multiplizieren, würde man „\%“ notieren.
abc
‚abc‘
ZeichenfolgenliteralAlles, was in doppelten oder einfachen Anführungszeichen steht, wird ohne weitere Auswertung in die Ausgabe übertragen. Formatiert man den Wert 3,14 mit „#.##‘ Mio.‘“, so lautet die Ausgabe „3,14 Mio.“. Zeichen, die keine Bedeutung als Platzhalter haben, gehen ebenfalls unverändert in die Ausgabe ein.

Ausführliche Informationen findet man bei Microsoft in der Dokumentation zum .NET-Framework:

http://msdn2.microsoft.com/de-de/library/fbxft59x(VS.80).aspx

Hilfreich ist auch diese von John Sheehan erstellte Übersicht:

http://john-sheehan.com/blog/wp-content/uploads/msnet-formatting-strings.pdf

Werte in Tausend oder Millionen ausweisen

Um das Kleingedruckte für den häufigen Fall zusammenzufassen, dass man Beträge in Tausenden oder in Millionen ausweisen möchte: Das leisten etwa „#,#,“ für Tausende und „#,#,,“ für Millionen. Beide Zeichenfolgen unterdrücken Nachkommastellen und fügen gegebenenfalls eine Tausendergruppierung ein.

Abweichende Formatierung für positive und negative Zahlen

Durch das „Conditional Formatting“ formatieren Sie negative Zahlen anders als positive. Der Trick besteht darin, zwei oder drei gültige Formatierungs-Strings mit einem Semikolon zu verbinden. Wenn Sie zwei Strings angeben, gilt der erste für positive Werte und der zweite für negative. Geben Sie drei an, so wird der erste Ausdruck für positive Zahlen angewendet, der zweite für negative und der dritte für 0-Werte.

(Verwechseln Sie die Zahl 0 nicht mit einem fehlenden Wert. Wie dieser darzustellen sind, ist in DeltaMaster geregelt: Menü Extras, Optionen, Darstellung).

Formatierung für positive und negative Zahlen auf der Registerkarte Darstellung

Sollen beispielsweise negative Werte in Klammern gesetzt werden, geben ein: „#,#;(-#,#)“.

Formatierung sichtabhängig per MDX festlegen

Bei Analysewerten können Sie, wie oben angedeutet, die Formatzeichenfolge auch per MDX berechnen lassen und so auf die jeweils aktuelle Sicht eingehen. Ein Beispiel:

Eine weltweit tätige Unternehmensgruppe wird auf der Konzernebene in Milliarden rechnen, während die Landesgesellschaften in Millionen denken, die Vertriebsregionen auch mit Tausendern kalkulieren und die Umsätze einzelner Kunden „auf Heller und Pfennig“ gemessen werden sollen.

Um dies zu realisieren, genügt ein MDX-Ausdruck wie dieser in der Formatierung des Analysewerts.

iif([BusinessUnit].CurrentMember.Level.Ordinal=0, „#,#,,, Mrd“,

iif([BusinessUnit].CurrentMember.Level.Ordinal=1, „#,#,, Mio“,

iif([BusinessUnit].CurrentMember.Level.Ordinal=2, „#,#, Tsd“, „0,0.00“)))

Die Einrückung und Mehrzeiligkeit sollen die Struktur verdeutlichen, sie können so aber auch in DeltaMaster eingegeben werden. Der Dimensionsname sollte immer in eckigen Klammern stehen und das „.CurrentMember“ exakt so wie angegeben (Groß-/Kleinschreibung beachten).

In dem Ausdruck kommt der „iif“-Operator dreimal verschachtelt vor. Er hat allgemein diese Syntax:

iif(<Bedingung>, <Rückgabe bei erfüllter Bedingung>, <Rückgabe bei nicht erfüllter Bedingung>)

und wirkt ähnlich wie die WENN-Funktion in Excel. Ist die Bedingung erfüllt, wird der erste Wert (die erste Zeichenfolge) zurückgeliefert, ansonsten der zweite – und der kann seinerseits mit „iif“ von einem Kriterium abhängen. In den Bedingungen wird jeweils abgefragt, ob das in der Dimension für die Tochtergesellschaften gerade ausgewählte Element ([BusinessUnit].CurrentMember) auf einer bestimmten Ebene steht. Wenn ja, haben wir den dazu passenden Format-String gefunden; wenn nicht, fragt der nächste „iif“-Ausdruck eine Ebene tiefer. Wir erhalten somit unterschiedliche Formatierungszeichenfolgen, je nachdem, ob wir uns für den Konzern, für die Landesgesellschaften oder die regionalen Niederlassungen interessieren.

Für das Top-Element, das die Ordnungszahl 0 hat, ergibt sich als Formatierung „#,#,,, Mrd“. Die drei Kommas am Ende der Zahl bewirken eine Division durch eine Milliarde. Zur Kenntlichmachung wurde hier auch das Zeichenfolgenliteral „ Mrd“ eingesetzt, welches mit im Bericht angezeigt wird. Für Währungsangaben, physikalische Einheiten (kg, m2 usw.) verwenden Sie aber besser das Feld Einheiten in den Analysewerteigenschaften (Registerkarte Allgemein) – die Einheit wird dann in Berichten nur einmal hinter dem Namen der Kennzahl angegeben und nicht in jeder Zelle wiederholt.

Scheinungenauigkeit

Wie in obigem Beispiel gesehen, hat Formatierung immer wieder auch etwas mit Skalierung, mit Division, mit Rundung zu tun – das ist ja gerade das Wohltuende im Bericht. Die Aufbereitung für die Anzeige ist immer der letzte Schritt im Verarbeitungsprozess in DeltaMaster. Sie hat keinen Einfluss auf die Berechnungslogik: In allen Berichten und Analysen rechnet DeltaMaster stets mit der originären Genauigkeit einer Zahl, unabhängig davon, wie sie am Bildschirm angezeigt wird.