Use locale values in multiple-language Power BI reports - Power BI (2024)

  • Article

Every report that loads in the Power BI service initializes with a user context that identifies a language and a geographical region known as a locale. In most cases, a locale identifies a country/region. The Power BI service tracks the combination of the user's language and locale using a culture name.

A culture name is usually a lower-case language identifier and an upper-case locale identifier separated by a hyphen. The culture name en-US identifies a user in the United States who speaks English. A culture name of es-ES identifies a user in Spain who speaks Spanish. A culture name of fr-FR identifies a user in France who speaks French. A culture name of de-DE identifies a user in Germany who speaks German.

USERCULTURELanguageLocale
en-USEnglishUnited States
es-ESSpanishSpain
fr-FRFrenchFrance
de-DEGermanGermany

Note

In some cases, a culture name also includes other information. For example, there are two different culture names for the language Serbian in Serbia, which are sr-Cyrl-RS and sr-Latn-RS. The part in the middle known as the script (Cyrl and Latn) indicates whether to use the Cyrillic alphabet or the Latin alphabet. For more information, see RFC 4646.

For a list of culture name values, see ISO 639 Language codes and Online Browsing Platform.

At the start of a project that involves creating a new Power BI semantic model (previously known as a dataset) with metadata translation, list the culture names that you plan to support. Next, extend the semantic model by adding metadata translations for each culture name.

The following diagram shows a semantic model that has a default language setting of en-US. The semantic model has been extended with metadata translations for three other culture names: es-ES, fr-FR, and de-DE.

Every metadata translation is associated with a specific culture name. Cultures names act as lookup keys that are used to add and retrieve metadata translations within the context of a Power BI semantic model.

You don't need to supply metadata translations for the default language of the semantic model. Power BI can just use the semantic model object names directly for that culture name. One way to think about this is that the semantic model object names act as a virtual set of metadata translations for the default language.

It's possible to explicitly add metadata translation for the default language. Use this approach sparingly. Power BI Desktop doesn't support loading metadata translations in its report designer. Instead, Power BI Desktop only loads semantic model object names. If you explicitly add metadata translations for the default language, Power BI reports look different in Power BI Desktop than they do in the Power BI service.

Load a report in Power BI

When a user navigates to a Power BI report with an HTTP GET request, the browser transmits an HTTP header named Accept-Language with a value set to a valid culture name. The following screenshot shows a GET request that transmits an Accept-Language header value of en-US.

When the Power BI service loads a report, it reads the culture name passed in the Accept-Language header and uses it to initialize the language and locale of the report loading context. On their devices, users can control which culture name is passed in the Accept-Language header value by configuring regional settings.

When you open a Power BI report in the Power BI service, you can override the Accept-Language header value by adding the language parameter at the end of the report URL and setting its value to a valid culture name. For example, you can test loading a report for a user in Canada who speaks French by setting the language parameter value to fr-CA.

Note

Adding the language parameter to report URLs provides a convenient way to test metadata translations in the Power BI service. This technique doesn't require you to reconfigure any settings on your local machine or in your browser.

Support multiple locales for a single language

You might need to support multiple locales for a single spoken language. Consider a scenario with users who speak French but live in different countries, such as France, Belgium, and Canada. You publish a semantic model with a default language of en-US and metadata translations for three more culture names including es-ES, fr-FR, and de-DE.

What happens when a French-speaking Canadian user opens report with an Accept-Language header value of fr-CA? Does the Power BI service load translations for French (fr-FR) or does it fall back on the English semantic model object names?

Measures currently act differently than tables and columns in Power BI. With measures, the Power BI service attempts to find the closest match. For the culture name of fr-CA, the names of measures would load using the metadata translations for fr-FR.

With tables and columns, the Power BI service requires an exact match between the culture name in the request and the supported metadata translations. If there isn't an exact match, the Power BI service falls back to loading semantic model object names. The names of tables and columns in this scenario would load using English semantic model object names.

Note

This use of the default language for the names of tables and columns is a known issue for Power BI.

We recommend that you add metadata translation for any culture name you want to support. In this example, add three sets of French translations to support the culture names of fr-FR, fr-BE and fr-CA. The approach handles the scenario where the French translations for users in France are different from French translations for users in Canada.

Implement translations using measures and USERCULTURE

Another feature in Power BI that helps with building multiple-language reports is the Data Analysis Expressions (DAX) USERCULTURE function. When called inside a measure, the USERCULTURE function returns the culture name of the current report loading context. This approach makes it possible to write DAX logic in measures that implement translations dynamically.

You can implement translations dynamically by calling USERCULTURE in a measure, but you can't achieve the same result with calculated tables or calculated columns. The DAX expressions for calculated tables and calculated columns get evaluated at semantic model load time. If you call the USERCULTURE function in the DAX expression for a calculated table or calculated column, it returns the culture name of the semantic model's default language. Calling USERCULTURE in a measure returns the culture name for the current user.

The example report displays the USERCULTURE return value in the upper right corner of the report banner. You don't typically display a report element like this in a real application.

This code is a simple example of writing a DAX expression for a measure that implements dynamic translations. You can use a SWITCH statement that calls USERCULTURE to form a basic pattern for implementing dynamic translations.

Product Sales Report Label = SWITCH( USERCULTURE() ), "es-ES", "Informe De Ventas De Productos", "fr-FR", "Rapport Sur Les Ventes De Produits", "fr-BE", "Rapport Sur Les Ventes De Produits", "fr-CA", "Rapport Sur Les Ventes De Produits", "de-DE", "Produktverkaufsbericht", "Product Sales Report")

For more information, see Learn DAX basics in Power BI Desktop.

Format dates and numbers with current user locale

You can translate dynamically by writing a DAX expression in a measure with conditional logic based on the user's culture name. In most cases, you aren't required to write conditional DAX logic based on the user's locale because Power BI visuals automatically handle locale-specific formatting behind the scenes.

In a simple scenario, you build a report for an audience of report consumers that live in both New York (en-US) and in London (en-GB). All users speak English (en), but some live in different regions (US and GB) where dates and numbers are formatted differently. For example, a user from New York wants to see dates in a mm/dd/yyyy format while a user from London wants to see dates in a dd/mm/yyyy format.

Everything thing works as expected if you configure columns and measures using format strings that support regional formatting. If you're formatting a date, we recommend that you use a format string such as Short Date or Long Date because they support regional formatting.

Use locale values in multiple-language Power BI reports - Power BI (8)

Here are a few examples of how a date value formatted with Short Date appears when loaded under different locales.

LocaleFormat
en-US12/31/2022
en-GB31/12/2022
pt-PT31-12-2022
de-DE31.12.2022
ja-JP2022/12/31

Related content

  • Create multiple-language reports with Translations Builder
Use locale values in multiple-language Power BI reports - 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 set locale in Power BI? ›

In Power BI Desktop, go to File > Options and settings > Options. Under Current file, select Regional Settings. In the Locale for import box, select a different locale. Select OK.

What is the limitation of Power BI datasets? ›

Power BI data limitations are 1GB per dataset that is imported into Power BI. The maximum storage capacity is 10GB per user for Power BI Pro users and 100TB for Power BI Premium users.

How do I make my Power BI report more efficient? ›

Limit the number of visuals in dashboards and reports

Using too many visuals in a single report slows report performance as each visual requires data processing and rendering. Limit widget visuals to eight per report page and grids to one per page. Limit tiles to 10 per dashboard.

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 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.

How do I change my locale language? ›

Procedure
  1. Windows: Click Start > Settings > Control Panel. Double-click Regional Settings (or Regional Options). Select the appropriate language (locale) from the drop-down list. ...
  2. UNIX: Use the 'locale' command to list the current locale settings for the session. For example: Code:
Apr 25, 2020

What are the user locale settings? ›

UserLocale specifies the per-user settings used for formatting dates, times, currency, and numbers in a Windows installation. Users can change this value on a running Windows installation by using the Administrative pane in the Region and Language Control Panel.

How do you change type using locale? ›

For more information see Create, load, or edit a query in Excel. Right click a column header, and then select Change Type > Using Locale. In the Change Type with Locale dialog box, select a data type and locale. Select OK.

What is Power BI not good for? ›

Limited Data Sources: While Power BI offers connectivity to a variety of data sources, some specialized data sources or data types might not be supported. This may make it more difficult to interpret and display some sorts of data.

Which of the following is not possible in Power BI? ›

Answer.

The only option that is not possible is to use only one data source. Power BI Desktop is designed to work with multiple data sources, and this is one of its key strengths. Create data models.

What are the disadvantages of using Power BI? ›

Cons of Power BI:
  • Learning Curve for Advanced Features: ...
  • Cost Considerations: ...
  • Resource Intensive for Large Datasets: ...
  • Limited Customization of Visuals: ...
  • Dependency on Internet Connectivity: ...
  • Data Security and Compliance: ...
  • Limited Direct Data Editing: ...
  • Potential Version Compatibility Issues:
Jan 26, 2024

What slows down Power BI reports? ›

Power BI reports are often slow because your data model contains unnecessary tables, columns, or rows that aren't used in your current Power BI report or Power BI dashboard. Before you start removing parts of a data model, double-check that you fully understand how it works.

How much data can a Power BI report handle? ›

With a Power BI Pro license, you can upload up to 10 GB of data to the Power BI Cloud. But with a Power BI Premium license, you get to store BI assets on-premises and receive a 50 GB cap on dataset size and up to 100 TB data storage.

How many pages can you have in a Power BI report? ›

Recall that a Power BI dashboard is a single page of visualizations. This is a very important distinction from a Power BI report, which can be a single page or multiple pages of visualizations. A Power BI report can be hundreds of pages long if you wanted it to be.

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

Can Power BI translate languages? ›

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.

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

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, ...

Top Articles
Latest Posts
Article information

Author: Virgilio Hermann JD

Last Updated:

Views: 5921

Rating: 4 / 5 (61 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Virgilio Hermann JD

Birthday: 1997-12-21

Address: 6946 Schoen Cove, Sipesshire, MO 55944

Phone: +3763365785260

Job: Accounting Engineer

Hobby: Web surfing, Rafting, Dowsing, Stand-up comedy, Ghost hunting, Swimming, Amateur radio

Introduction: My name is Virgilio Hermann JD, I am a fine, gifted, beautiful, encouraging, kind, talented, zealous person who loves writing and wants to share my knowledge and understanding with you.