Immer öfter wird Power BI nicht nur als Self-Service-Tool eingesetzt, sondern bildet auch die Grundlage von operationalisierten Analytics-Anwendungen vieler international agierender Unternehmen oder sogar im B2B-Bereich. Gerade hier entsteht der Bedarf, Power BI Reports in mehreren Sprachen anzuzeigen. Nun muss man sich entscheiden: Erstelle ich einen Report pro Sprache oder versuche ich, meinen Report nach einer Sprache filterbar zu gestalten? Wir wollen uns in diesem Beitrag letzteren Ansatz anschauen
Table of Contents
Power BI bietet für Premium-User die Möglichkeit, Metadaten (z. B. Tabellen- oder Spaltennamen) zu übersetzen. Wenn es aber um die anzuzeigenden Daten geht, müssen wir als Power-BI-Entwickler kreativ werden. Hierbei stehen wir vor der Herausforderung, sowohl die Daten der Tabellen als auch die Überschriften und Texte übersetzen zu müssen.
Datenmodellierung für Mehrsprachigkeit
Der Kern der Mehrsprachigkeit ist das Datenmodell. Wir betrachten hier ein einfaches Modell, das lediglich eine Faktentabelle und eine Datumsdimension beinhaltet, und möchten die Monate auf Deutsch und Englisch anzeigen.
Um dies zu erreichen, benötigen wir die Datumsdimension in einer Struktur, die pro Sprache und Datumswert je eine Zeile aufweist. Dadurch wird allerdings die One-to-many-Beziehung zwischen Dimension und Fakt verletzt.
Diese können wir implizit über eine Bridge-Tabelle in Kombination mit einem Filter für die Sprache wiederherstellen. Die zentrale Herausforderung ist es nun, den Filter von der „Language“-Tabelle auf die „Date“-Tabelle zu übertragen, ohne jedoch eine Ambiguität im Modell zu erzeugen. Dies können wir mit sogenannten virtuellen Beziehungen in unseren DAX-Measures erreichen (Relationships in Power BI and Tabular Models – SQLBI). Hierbei ist es wichtig zu wissen, dass virtuelle Beziehungen als Inner Join agieren.
Damit wir später auch die Titel übersetzen können, benötigen wir eine Tabelle analog der Datumsdimension. Diese ist nicht mit den Fakten verbunden und kann deshalb physisch in Beziehung gesetzt werden.
ETL für das Mehrsprachenmodell
Die übersetzten Texte der Daten und Titel können in einer zentral abgelegten Tabelle „Translation“ gespeichert werden. Hierbei bietet sich eine Struktur an, die neben der Übersetzung auch die Sprache, die Tabelle, die Spalte und deren ursprüngliche Ausprägung des Spaltenwerts beinhaltet. Diese Tabelle kann dann z. B. in Power Query weitertransformiert werden. Hierbei erfolgt die Transformation in zwei Schritten.
Für die Datumsdimension wird „Translation“ zunächst auf TableName = „Date“ gefiltert und dann über den „ColumnName“ mit der Monatsspalte der Datumstabelle verbunden. Dadurch erweitert sich eine Zeile der Datumstabelle um die Anzahl der Sprachen. Dabei müssen wir aufgrund der virtuellen Beziehungen beachten, dass jeder Wert in jeder Sprache übersetzt ist (referenzielle Integrität).
Kann das nicht garantiert werden, muss über etwaige Rückfalllösungen nachgedacht werden. Als Beispiel können hier durch einen rechten Antijoin die Ausprägungen ohne Übersetzungen ermittelt werden, und durch einen Crossjoin lässt sich mit der Sprachentabelle ein Standardwert definieren.
Die Transformation für die Titel ist vergleichsweise einfach. Für die Titeltabelle wird die „Translation“-Tabelle referenziert und auf TableName = „Title“ gefiltert.
Mehrsprachigkeit im Report
Im Report profitieren wir nun von der Vorarbeit bei der Datenmodellierung und -transformation.
Wir können die Monatsspalte, den Sprachenfilter und das DAX-Measure für den Umsatz (inkl. virtueller Beziehung) nutzen, um einen übersetzten Zeitverlauf darzustellen. Für die Überschrift nutzen wir die Funktion der dynamischen Titel
Durch einfaches Umstellen des Sprachfilters können wir nun sowohl Titel als auch die Monatsnamen auf den Achsen auf Englisch stellen.
Überlegungen und Limitierungen
Der vorgestellte Ansatz zeigt, wie man Daten und Überschriften in Power BI skalierbar in mehreren Sprachen nutzen kann. Allerdings gibt es einige Aspekte, die es bei einer Implementierung zu berücksichtigen gilt. Zum einen muss bedacht werden, dass virtuelle Beziehungen verglichen mit physischen Beziehungen mit einem Performanzverlust einhergehen. Des Weiteren erhöhen wir die Kardinalität der Dimensionen, wodurch sich die Kompression im Datenmodell verschlechtert. Es wird größer und einige Operationen wie z. B. nicht-additive Berechnungen verlangsamen sich überproportional. Hier kann eine optimierte Verteilung der Last von der Storage Engine und Formular Engine unter Umständen entgegensteuern (Analyzing the performance of DISTINCTCOUNT in DAX – SQLBI). Zum anderen sind die Möglichkeiten der dynamischen Beschriftungen begrenzt. Achsentitel, Legendentitel, Spaltennamen und Measurenamen können mit dieser Technik nicht übersetzt werden. Hier kann jedoch die Metadatenübersetzung Abhilfe schaffen.
Mehrsprachigkeit in Power BI umfasst neben Übersetzungen von Metadaten auch die der angezeigten Daten und Texte. Da dies derzeit nicht „out of the box“ verfügbar ist, verlangt die Mehrsprachigkeit der Daten eine intelligente Datenmodellierung. Diese geht mit einem erhöhten Komplexitätsgrad einher, bietet jedoch eine skalierbare und performante Lösung.
Wer ist b.telligent?
Du willst den IoT Core durch eine Multi-Cloud-Lösung ersetzen und die Vorteile weiterer IoT-Services von Azure oder Amazon Web Services nutzen? Dann melde Dich bei uns und wir unterstützen Dich bei der Umsetzung mit unserer Expertise und dem b.telligent Partnernetzwerk.
Mit der neuen Funktion AUSDRUCKERSETZEN bietet arcplan 7 die Möglichkeit, Einfluss auf das automatisch generierte SQL und MDX Statement zu nehmen. Dies hat den Vorteil, dass weiterhin ein Design mittels „Pfeilen“ erfolgen kann und man nicht auf Formeln beschränkt ist. Mit diesem Mittel sind aktuell nur einfache Anpassungen an der Abfrage möglich, jedoch mit einem großen Impact auf die daraus entstehenden Möglichkeiten.
Mit dem Q2 2023 Update „New Optimized Story Experience – Unified Stories and Applications“ bietet die SAP Analytics Cloud Nutzer:innen neue Wege, um noch flexibler und leichter in einer integrierten Designumgebung Berichte und Dashboards zu entwickeln. Wir zeigen Dir hier, welche neuen Features das Update mit sich bringt und wie es Dich beim Erstellen von Berichten unterstützt.
SAP BW stellt als Business-Intelligence-Paket viele Möglichkeiten für ein performantes Reporting bereit – birgt jedoch auch zahlreiche Hemmnisse, die die Performance merklich verlangsamen. Am Beispiel von in der Anwendung verfügbaren Berichtsfiltern zeigt dieser Beitrag, wie kleinste Adaptionen die Leistung von SAP BW mindern und wie eine performante Einstellung der Filtermöglichkeiten zu besseren Ergebnissen führen kann.