This post is also available in:
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:

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.

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


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:

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"}})

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.

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.

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.

Als neue Sprache wird “english” gewählt.

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

Nun erhalten wir im Visual unmittelbar eine Fehlermeldung.

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

Im Moment sieht der Bericht wie folgt aus:

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.

Und hier dasselbe für das deutsche Lesezeichen:

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.

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

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

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.


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!
Der Parameter kann nur in power bi desktop und nicht im pwer bi service bzw. in der mobilen app geändert werden, richtig?
Parameters können auch im Service gesetzt werden. Ich habe dazu noch keinen Artikel geschrieben, aber Ruth von Curbal hat dazu ein Video gemacht.
Ich hoffe, das hilft weiter.