For a while, it was only possible to provide a Power BI report in multiple languages using workarounds. Recently, the enhanced dataset metadata has made it very easy to change the language of a report in Power BI, making it multilingual, for example in German and English. Since the Power BI September Update, the enhanced dataset metadata is now the standard for metadata, upgrading a Power BI report almost to the level of an SSAS Tabular Model.
Enhanced dataset metadata enables SSAS Tabular functionalities
One of these new capabilities is to offer the data model of each Power BI report in multiple languages.
The easiest way to maintain multiple languages is currently using Tabular Editor. As an example we use the following simple report based on the Adventure Works database:
And the tables to be translated:
Once the Tabular Editor is installed, it can be started under “External Tools” with connection to the open file:
Maintaining translations in the Tabular Editor
In Tabular Editor we see the folder “Translations” at the very bottom, where we are able to create a new language for our data model by a click on the right mouse button:
We can then store the translations for every existing table:
Or also the name for each column:
Or also a measure:
We can recognize already translated tables by the blue background color of the text. After saving, the values are already available in the opened Power BI file.
Display in Power BI Desktop via language selection
To display the new language now, we have to change the application language to our target language, here German. We can do this in Power BI under File and Options:
After a restart of Power BI Desktop the report appears in the desired language:
The tables and columns are now also displayed in the new language translation:
Only the automatic date hierarchy is still created in English. I have not yet found a solution here either. If you have a tip here, please write it in the comments.
Display on the Power BI Service / powerbi.com
On the Power BI service, the report can also be displayed in a translated language. For this purpose, the display language must be set to the corresponding target language in the settings:
Theoretically the report should now be displayed in German, but in my case the report switches back to English after about 0.5 seconds. Also different browsers including in German language showed the same result here. Possibly the language of the operating system is used in this case. If you know more about it, feel free to write it in the comments.
DAX Code stays unchanged
It is important to mention that only the names of the individual tables and columns are displayed in the translated language. The actual names in the data model remain unaffected. This is clearly shown by the Dax formula of our average sales:
As soon as we go to the formula of the now translated field “Durchschn. Verkauf” we see the formula for “Average Sales”. This measure accesses the column “SalesAmount” of the table “FactInternetSales”, which now matches the column “Umsatz” in the table “FktInternetSales”.
A development in the translated language is unfortunately not possible, the DAX Interpreter cannot deal with the translated column names:
This is simply to illustrate how confusing translations could become during development. For end users this is a feature that has long been expected and needed, developers should continue to access the original language of the report.