mehrsprachige Berichte in Power BI erstellen

This post is also available in: Englisch

Aufrufe: 12967

Zum heutigen Zeitpunkt (22. Oktober 2018) ist das Erstellen von mehrsprachigen Reports in Power BI nicht automatisch möglich.
Diese Funktion ist in den Dynamics365 Herbstupdate Notes (Link) zwar erwähnt, aber noch ist nicht ganz klar, zumindest für mich nicht, wann die Funktion veröffentlicht wird. Ich hoffe natürlich bald…
Deshalb zeige ich in diesem Beitrag, wie mit einem kleinen Workaround trotzdem mehrsprachige Berichte erstellt werden können.



Willst du Power BI lernen?
Auf unseren neuen Seite Power BI Coach haben wir einen Onlinekurs zusammengestellt.


Ausgangslage

Es kann eine Kundenanforderung sein, dass die Berichte entweder in Englisch oder in Deutsch angezeigt werden müssen. Dabei sollen sowohl die Spaltenüberschriften in den Tabellen als auch die Measures in der jeweils gewünschten Sprache angezeigt werden.
Die Inhalte der einzelnen Felder müssen aber nicht verändert werden. Das heisst, dass der Produktename “RoadBike” unverändert stehen bleiben kann. Wer eine Lösung für das Ändern der Werte in einer Spalte sucht, dem kann ich das Youtube Video von Ruth Pozuelo (curbal.com) und dasjenige von Adatis sehr empfehlen.

Herausforderungen

Um das erwähnte Kundenbedürfnis erfüllen zu können, müssen folgende Herausforderungen gemeistert werden:

  • Abhängig von der gewählten Sprache müssen die Spaltenüberschriften angepasst werden
  • Im Weiteren müssen die Measures übersetzt werden (zum Beispiel muss “Revenue” zu “Umsatz” werden)
  • Die Visuals sollen jeweils in Abhängigkeit der gewählten Sprache angezeigt werden
  • Der Berichtsempfänger soll mit möglichst wenig Aufwand die Sprache ändern können

Sprachparameter erstellen

Die erste Herausforderung ist im Grundsatz einfach zu lösen. Was wird dazu benötigen, ist ein Parameter in Power Query.
Den Parameter habe ich pmt_Language genannt und verfügt über zwei Auswahlmöglichkeiten: “Deutsch” und “english”.

Parameter können in Power Query sehr einfach erstellt werden:

Neuen Parameter erstellen
Neuen Parameter erstellen

Der Parameter benötigt einen Namen (1) sowie und eine Auswahlmöglichkeit (2). In diesem Fall wird dies eine Liste sein, welche darunter (3) mit “Deutsch” und “english” definiert wird.
Als Standardwert (4) habe ich “Deutsch” definiert, was auch dem aktuellen Wert (5) entspricht.

Parameter "pmt_Language"
Parameter “pmt_Language”

Spaltenüberschriften anpassen

Für dieses Beispiel habe ich ein Datenset, bestehend aus zwei Tabellen “Sales” und “Customers”, erstellt.

Tabelle Sales
Tabelle Sales
Tabelle Customers
Tabelle Customers

Mit dem erstellten Parameter können wir nun auch die Spaltenüberschriften einfach anpassen.
Dazu geben wir im erweiterten Editor eine Wenn-Dann Bedingung ein. Diese prüft, welche Sprache im Parameter gewählt wurde. Im Falle von Englisch bleibt die Tabelle unverändert, da die Ausgangssprache der Tabelle Englisch ist.
Wird deutsch gewählt, so sind die Spaltennamen anzupassen. Für Sales sieht diese wie folgt aus:

Language = if pmt_Language = "english" then #"Changed Type" else
Table.RenameColumns(#"Changed Type",
{{"OrderDate", "Bestelldatum"}, {"CustomerKey", "KundenNr"}, {"SalesTerritoryKey", "VerkaufsgebietNr"}, {"SalesOrderNumber", "BestellNr"}, {"SalesOrderLineNumber", "BestellPositionsNr"}, {"UnitPrice", "Stückpreis"}, {"ExtendedAmount", "Verkaufspreis"},
{"ProductStandardCost", "ProduktStandardKosten"}, {"TotalProductCost", "TotalProduktKosten"}, {"SalesAmount", "Verkaufsbetrag"}, {"TaxAmt", "Steuerbetrag"}, {"Freight", "Frachtkosten"}
})

Das Ergebnis für Deutsch sieht wie folgt aus:

Sales in Deutsch
Sales in Deutsch

Dasselbe wird für die Tabelle “Customers” durchgeführt:

Language = if pmt_Language = "english" then #"Removed Other Columns1" else
Table.RenameColumns(#"Removed Other Columns1",{{"CustomerKey", "KundenNr"}, {"Fullname", "Name"}})
Customers in Deutsch
Customers in Deutsch

Measures

Das Umsatzmeasure soll ebenfalls den Namen je nach Sprache ändern. Dazu erstellen wir zwei Measures:

Umsatz = sum(Sales[Verkaufsbetrag])

Revenue = sum(Sales[SalesAmount])

Beim Schreiben des Measures “Revenue” antwortet Power BI sofort mit einer Fehlermeldung. Da die Sprache auf “Deutsch” eingestellt ist, findet DAX die Spalte Sales[SalesAmount] nicht.

Fehlermeldung DAX
Fehlermeldung DAX

Den Fehler ignorieren wir im Moment.

Visuals erstellen

Als nächstes erstellen wir in der Mitte des Berichtlayouts ein normales Balkendiagramm, bestehend aus der Spalte “Name” sowie dem Measure “Umsatz.

Deutsches Diagramm Name und Measure
Deutsches Diagramm Name und Measure

Parameter ändern

Der Reportbenutzer soll die Sprache auf möglichst einfache Art und Weise ändern können. Dazu müssen wir auf der Benutzeroberfläche lediglich den Wert des Parameters ändern.

Parameterwert ändern
Parameterwert ändern

Als neue Sprache wird “english” gewählt.

Parameterwert "english" wählen
Parameterwert “english” wählen

Power BI weist uns darauf hin, dass wir die Änderung noch aktivieren müssen.

Änderung durchführen
Änderung durchführen

Nun erhalten wir im Visual unmittelbar eine Fehlermeldung.

Fehlermeldung fehlende Spalte
Fehlermeldung fehlende Spalte

Die Meldung können wir ignorieren und links ein neues Balkendiagramm, diesmal mit den englischen Begriffen, erstellen.

englisches Diagramm
englisches Diagramm

Im Moment sieht der Bericht wie folgt aus:

englisches und deutsches Diagramm
englisches und deutsches Diagramm

Lesezeichen erstellen

Nun erstellen wir noch zwei Bookmarks (Lesezeichen). Das erste Lesezeichen “bm_english” blendet das deutsche Visual aus, das Lesezeichen “bm_deutsch” zeigt nur das deutsche Visual und blendet das englische aus.

Hier die Einstellungen des englischen Lesezeichens. Die rote Markierung zeigt den ausgeblendeten Status des deutschen Visuals.

Settings Bookmark english
Settings Bookmark english

Und hier dasselbe für das deutsche Lesezeichen:

Settings Bookmark deutsch
Settings Bookmark deutsch

Lesezeichen über die Oberfläche steuern

Leider können im Moment Lesezeichen nicht in Abhängigkeit von Werten angesteuert werden. Die Selektion des gewählten Lesezeichens erfolgt über die Benutzeroberfläche. Dazu müssen wir zwei neue Buttons (Schaltflächen) erstellen und das gewünschte Lesezeichen angeben.

Die Schaltflächen für Lesezeichen können wie folgt erstellt werden.

Schaltfläche für Lesezeichen erstellen
Bookmark erstellen

Fehlt noch die Vergabe eine Beschriftung für die Schaltfläche, hier anhand des englischen Beispiels:

Button Text englisches Bookmark
Button Text englisches Bookmark

.. und die dazugehörige Aktion für die Schaltfläche, die Aktivierung des Lesezeichens “english”.

Aktion zuordnen
Aktion zuordnen

Die gleichen Einstellungen müssen wir auch noch für die deutsche Schaltfläche durchführen.

Benutzeraktionen

Damit der Benutzer die Sprache des Reports anpassen kann, muss er lediglich den Parameter ändern sowie das gewünschte Lesezeichen  auswählen.

Bericht in englischer Sprache
Bericht in englischer Sprache
Bericht in deutscher Sprache
Bericht in deutscher Sprache

Die beiden Diagramme könnten auch noch übereinandergelegt werden, damit der Benutzer keinen Unterschied erkennt.

Fazit

Mit ein paar wenigen Handgriffen kann die Berichtssprache auch in Power BI angepasst werden. Natürlich fällt die Arbeit bei umfangreicheren Datensets mit einer Vielzahl von Tabellen grösser aus.
Bis aber Power BI von Haus aus mehrsprachige Berichte bedienen kann, ist dies ein durchaus gangbarer Workaround.

Die Datei zum Beitrag könnt ihr hier herunterladen.

Mehr über Power BI findet ihr hier.

Happy Querying!

2 Gedanken zu „mehrsprachige Berichte in Power BI erstellen

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

%d Bloggern gefällt das: