Multilingual Reports in Power BI (2024)

Creating Power BI reports in Switzerland can be challenging when it comes to the question: In which language should we display the report? The reason behind is that Switzerland has 4 official languages and if we consider English, it’s even 5. Therefore it’s not easy to fulfill this requirement with one report – or is it? Let me walk you through different scenarios how you can create multilingual reports with Power BI.

Possible Solutions

As in most scenarios in Power BI there are different ways to achieve the same goal. Therefore let me list some solutions:

  • Create a separate report for each language
  • Create one report and translate data through a service (like Azure Cognitive Services)
  • Create a Datasets for each language
  • Create a report, use a “translation table”, and work with bookmarks
  • Create one report and a “translation table” to display the right language

Of course each scenario has his pros and cons so let me go through some of them quickly and focus afterwards on the main solutions I’m going to present in this post.

Create a separate report for each language

Creating a separate report for each language is from my point of view a maintenance nightmare. Imagine having 5 different languages, therefore having 5 “different” reports (which all look the same but using only a different language), and now you have to customize a visual. Not only you have to do the work multiple times, you have to do it every time a modification is required! Besides that you have to keep an overview which users has access to which report making sure they have access to the right language. Therefore I wouldn’t recommend to go this path and look into other ways to fulfill the multilingual report requirement.

Create one report and translate data through a service

Using a Service to translate your data is a nice and handy solution. The good side of this approach is that you do not have to create your own translation for each word and sentence for each language. This can be done automatically through an API. On the other hand the translation itself could lead to unexpected results, sentences could be translated in a wrong or misleading way which can cause other, unexpected issues which could be avoided in the first place. Therefore it’s not a perfect solution but for sure one worth trying if you do not have a “translation table” which can be used. If you’re interested in how to call an API to translate your data let me know and I’ll be happy to post about it in future.

Create a Datasets for each language

Chris Webb wrote a great article (see https://blog.crossjoin.co.uk/2021/02/21/implementing-data-as-well-as-metadata-translations-in-power-bi) how you can create multiple Datasets – one for each language – and use the DirectQuery Mode (not Live Connection! 😉 ) to connect to the needed Dataset. This approach has also his benefits as the data and meta data like column name and title can be translated. On the other hand it’s again a maintenance effort for all the different Datasets and PBIX files.

Create a report, use a “translation table”, and work with bookmarks

I saw a post from Greg Philips how you can handle Multilingual Reports with a translation table and multiple pages and bookmarks. Everything is described here: https://blog.enterprisedna.co/create-a-multilingual-power-bi-report/

This solution gives you the full flexibility to translate data, columns, titles, etc. in your report. On the other hand you would need to create a separate page for each language and maintain the bookmarks on top of it. If changes will occur you would need to change it on every page. Still better than having multiple reports, but could lead to a lot of maintenance hours. Nevertheless it’s a really nice solution to work with different languages in one report.

Create one report and a “translation table” to display the right language

Another approach is to have a “translation table” within Power BI which is used to translate the needed data in the right language. Let me walk you through how this could look like in Power BI.

As an example imagine we have a table with some fruits, numbers, and an ID for each fruit. Further we have a second table with the fruit ID, display language, and the translated value.

Multilingual Reports in Power BI (1)

Once in Power BI imported you can create a relationship between the two tables through the ID if that’s not already automatically done during the import process.

Multilingual Reports in Power BI (2)

As a next step you can add a Slicer Visual using the Language column from the Language table and add a Table Visual with the Number Column from the Fruits table and Value Column from the Language table.

Multilingual Reports in Power BI (3)

If you select now a language in the slicer the Table Visual will filter it to the selected language. You can even force a selection through the slicer in the settings by turning on “Single select”.

Multilingual Reports in Power BI (4)

To enhance this solution and apply automatically the correct language you can even build a third table matching the language with an user and use RLS to apply the right language. In my simple solution I created following table.

Tip: I blogged about RLS a while ago and if you’re interested in how to implement it check it out here: https://pbi-guy.com/tag/row-level-security/

Multilingual Reports in Power BI (5)

As you can see the table contains the language, name and UPN of each user. Once in Power BI imported create a relationship between the language column from the User Language table and the Language column from the Language table. Our whole relationship model looks now as following.

Multilingual Reports in Power BI (6)

Our next step is to create a role and set a rule so users can only see their specific language. We’re going to user the USERPRINCIPALNAME() to identify which user is logged in and match the mail address with the User Language table.

Multilingual Reports in Power BI (7)

Once this is set up the Slicer Visual is not needed anymore as through RLS the data is already filtered. I just added a card visual showing the current language and the USERPRINCIPALNAME (I created a DAX measure for this). If we test now RLS on behalf of another user – let’s take Luke – we see following.

Multilingual Reports in Power BI (8)

If we change it to Chewbacca the language will apply automatically.

Multilingual Reports in Power BI (9)

This approach is very good if you do not have a lot of data and languages. As you can imagine if you add a new fruit your language table will need three more lines for the three languages in this case. If you add a new language your language table will increase even more which leads to a bigger data model size in both cases. Further performance can decrease due to the implemented RLS rule. On the other side user experience can increase as the language will automatically apply but users can’t change it on their own if RLS is in place (e.g. in my personal case I prefer to display everything in English even if I’m based in the German-speaking part of Switzerland).

Besides data translation Power BI offers ways to translate field and table names automatically as well. Let me show you how to add different languages into your model.

Translate Power BI field and table names

To be able to add multiple languages into your model you’ll need to work with third-party tools. This could be Visual Studio, Tabular Editor, or anything else that can handle and configure a tabular model. In my case I like to work with Tabular Editor because as soon as you install it you’ll have it integrated in Power BI Desktop to open it directly from the ribbon connected to your model.

Multilingual Reports in Power BI (10)

Once opened you’ll find a “Translations” folder in your model. Right-click on it and hit New Translation.

Multilingual Reports in Power BI (11)

A new window will pop-up where you can choose which culture you wish to add. In my case I select de-DE and hit OK. This means once translations are implemented in de-DE language Power BI will recognize the Browser or Power BI Desktop Language Settings and display automatically the translation of my tables and columns in this language.

Multilingual Reports in Power BI (12)

You’ll notice how the Translation folder has now two different languages. In my case en-US and de-DE. Now I can expand the Tables folder, select a table or column, scroll down to Translated Names Properties and add for each language a translation. As you can see in my example below I choose the table Fruits and translated it to Früchte in German.

Multilingual Reports in Power BI (13)

To make the translation easier Chris Webb has a very useful and easy-to-use tool which is available for free here: https://www.sqlbi.com/tools/ssas-tabular-translator. To be able to use it export the translations as json file and import it afterwards by right-clicking on the Translations folder in your model.

Once everything is translated as wished save your model and publish the report to Power BI Service. In there you have to change the browser language or choose through Power BI settings your preferred language and your table and column names will be display accordingly. If you wish to test in in Power BI Desktop keep in mind that since March 2021 release Power BI Desktop will not reflect the model translations so you would need to have an earlier version if you wish to do so.

Edit: Further keep in mind that this works only with Premium. Therefore you’ll need Power BI Premium, Premium per User, or an Embedded capacity.

Please let me know if this post was helpful and give me some feedback. Also feel free to contact me if you have any questions.

If you’re interested in the files used in this blog check out my GitHub repo https://github.com/PBI-Guy/blog

Multilingual Reports in Power BI (2024)

FAQs

How to create a multilingual report in Power BI? ›

Power BI provides Internationalization and localization features which make it possible to build multi-language reports. For example, you can design a Power BI report that renders in English for some users while rendering in Spanish, German, Japanese or Hindi for other users.

How to change report language in Power BI? ›

  1. In Design view, select outside the report design surface to select the report.
  2. In the Properties pane, for the Language property, type or select the language that you want to use for the report.
Mar 25, 2024

Does Power BI have a translation feature? ›

Metadata translation is the main localization feature in Power BI to build multiple-language reports. In Power BI, metadata translation support is integrated at the semantic model level. A metadata translation represents the property for a semantic model object that's been translated for a specific language.

What languages can you use in Power BI? ›

The Power BI service (in the browser) is available in the following 44 languages:
  • Arabic.
  • Basque - Basque.
  • Bulgarian - Български
  • Catalan - català
  • Chinese (Simplified) - 中文(简体)
  • Chinese (Traditional) - 中文(繁體)
  • Croatian - hrvatski.
  • Czech - čeština.
Jan 30, 2024

What is BI multilingual? ›

Merriam‐Webster's online thesaurus defines bilingualism as “the ability to speak two languages: the frequent oral use of two languages,” and multilingual as “of, containing, or expressed in several languages” and “using or able to use several languages.” The apparent simplicity of these definitions is, however, ...

How do I create a dynamic report in Power BI? ›

You'll start by creating simple measures, which summarize a single column or table. Then, you'll create more complex measures based on other measures in the model. Additionally, you'll learn about the similarities of, and differences between, a calculated column and a measure.

What is the DAX language in Power BI? ›

Data Analysis Expressions (DAX) is a formula expression language used in Analysis Services, Power BI, and Power Pivot in Excel. DAX formulas include functions, operators, and values to perform advanced calculations and queries on data in related tables and columns in tabular data models.

What is the difference between Power BI and DAX? ›

DAX is used for data modeling and creating calculated columns and measures, whereas Power Query is used for data transformation and loading data from external sources. DAX is a powerful expression language that is used to perform complex calculations on data within your Power BI model.

What is Power BI translation builder? ›

Translations Builder is an external tool created for Power BI Desktop specifically to assist report authors and dataset authors with tasks associated with creating translations and building multi-language reports.

Is there a semantic layer in Power BI? ›

A semantic model in Power BI can be considered a logical layer containing the transformations, calculations, and relationships between data sources needed to create reports and dashboards.

Is Power BI still in demand in 2024? ›

The demand for Power BI Developers has been on the rise, driven by growth in companies using big data. The role offers an excellent opportunity to engage with the latest data technologies and contribute to data-driven decision-making in organizations.

Should I use Python in Power BI? ›

To become a Power BI developer, you don't need to be an expert in Python. However, having a fundamental understanding of Python can be beneficial, as Python can be used within Power BI for specific tasks such as data transformation, analysis, and visualization.

Which BI tool is a competitor to Power BI? ›

The best overall Microsoft Power BI alternative is Tableau. Other similar apps like Microsoft Power BI are Looker, Sisense, Domo, and Qlik Sense. Microsoft Power BI alternatives can be found in Analytics Platforms but may also be in Embedded Business Intelligence Software or Statistical Analysis Software.

How do you create a multilingual form? ›

Add languages and translate
  1. Click More form settings. ...
  2. Under Additional Language, click. ...
  3. Hover over your added language and click the Edit language pencil icon.
  4. Click on the title section to begin your translating.
  5. Click on the text box under the title and translate the text above it.

How do you create a cross report in Power BI? ›

Set up a cross-report drillthrough target
  1. Edit the target file, and on the target page of the target report, select the Fields section of the Visualizations pane.
  2. Under Drillthrough, set the Cross-report toggle to On.
  3. Drag the fields you want to use as drillthrough targets into Add drill-through fields here.
Oct 18, 2023

Top Articles
Latest Posts
Article information

Author: Delena Feil

Last Updated:

Views: 5929

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Delena Feil

Birthday: 1998-08-29

Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543

Phone: +99513241752844

Job: Design Supervisor

Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles

Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.