One request that comes up a lot is to be able to provide translations for the tables and columns of your model (especially here in Europe). Up until now this was not possible in Power BI as there was no UI for it. The new XMLA read/write feature changed all of this. As you probably know in SSAS Tabular this is already possible. The new XMLA endpoint makes any Power BI dataset into a SSAS tabular model with most of its functionalities. So how do you use it in Power BI and add translations? In this blog post I will walk you through it.
First, I have a simple model (yes Covid data) with a single table. When I use it in Power BI with my browser I get the model in English. In my example I want it to be shown in Dutch.
I will be using Tabular Editor to add the translations of the metadata. For any external tool to connect to datasets in premium you can use the XMLA endpoint. This needs to be enabled on your capacity by your admin. The dataset will live in an app workspace. You can find the endpoint to connect to it in the settings of the workspace.
After pressing Copy I can use that URL to connect to the “server” with my third-party tool. In this case I am using Tabular editor.
After connecting to the server I can select the dataset that I want to add my translations for. This might take some time as the capacity can have many many datasets. After selecting I can make any change to the model in Tabular Editor. In this case I choose to add a new translation.
Select the culture for the new translations.
Now in tabular editor you cannot add the translation itself, you will have to do this by hand. So we need to export the newly created translation metadata. Exporting creates a JSON file in TMSL structure that we can enhance.
In the file we can need to add the reference to the columns and provide its translations. There is not much documentation on it unfortunately. You can see an example of the structure below. There is also a little tool I created some time ago to easily add the translations. But to make this work you first need to have the structure set up like SSDT does on export.
After you made the changes and provided translations for your metadata you can import it again using tabular editor.
After all changes are imported you can save the model. This will immediately upload all the translations to the Power BI dataset and thus apply the translations.
When I log into my browser, which is set to Dutch locale, I can see the translations for the columns and tables I supplied:
By the way, you will also be able to define translations in Power BI desktop using the method I described before here, but you will have to write all the translations yourself.