Supplies are limited. Contact info@espc.tech right away to save your spot before the conference sells out.
Get your discountScore big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount
I have a dimension table with translations — 4 rows per EntityNumber (one for each language: DE, FR, EN, NL).
There's also a TypeOfDenomination column with 2 values (1 = full name, 2 = abbreviation), making it 8 rows per entity in total.
Since dimension tables require unique PKs, I’m wondering:
🔹 Should I normalize Language and TypeOfDenomination into separate dimension tables (snowflake model)?
🔹 Or should I unpivot the data so I have one row per EntityNumber with multiple columns (e.g. Name_EN_Type1, Name_FR_Type2, etc.)?
What’s the cleanest and most performant approach in Power BI for this kind of multi-language setup?
Unique Primary Keys
Language: 4 values (EN, FR, NL, DE)
2 dimension types (1 and 2) - basically means full or abbreviation of company name
Solved! Go to Solution.
Hi @Monsieboy,
Thank you for reaching out to the Microsoft fabric community forum.
After thoroughly reviewing the details you provided, I reproduced the scenario again, and it worked on my end. I used it as sample data and successfully implemented it.
outcome:
I am also including .pbix file for your better understanding, please have a look into it:
If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.
Thank you for using Microsoft Community Forum.
Hi @Monsieboy,
Thank you for reaching out to the Microsoft fabric community forum.
After thoroughly reviewing the details you provided, I reproduced the scenario again, and it worked on my end. I used it as sample data and successfully implemented it.
outcome:
I am also including .pbix file for your better understanding, please have a look into it:
If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.
Thank you for using Microsoft Community Forum.
Hi @Monsieboy,
May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.
Thank you.
Hi @Monsieboy,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. If my response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank you.
Hi @Monsieboy,
I hope this information is helpful. Please let me know if you have any further questions or if you'd like to discuss this further. If this answers your question, please Accept it as a solution and give it a 'Kudos' so others can find it easily.
Thank you.
Hi @Monsieboy ,
Dimension tables should always have a unique primary key. For multilingual support, pivot the table to create separate columns for each language instead of repeating rows.
Best regards,
I understand, so my initial suggestion. If I have 4 languages x 2 type of translations, that means 8 columns for those right?
But how will the model know which language to give me the translation in? Will I need to define that or at least set a default language?
Hi @Monsieboy ,
In Power BI, the cleanest and most scalable approach for multilingual dimension tables like yours is to normalize the data rather than unpivoting into wide columns.
Here’s why:
So yes, go with the normalized structure:
EntityNumber | Language | TypeID | Denomination
Then in your model, you can use a measure or calculated column to pick the right translation based on the current language context.
Let me know if you need help building that logic.
If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.
translation and formatting supported by AI
So basically snowflake/normalize the translations into a new table?
So I have fact table, then a dimension table with ID - type - language, and a snowflaked further normalized dimension table linked to the first dimension table with PK_label - language?
But do I have to force end-user who will select a company from fact table to also before that specify a language? Or set a default language and allow him to change it? Otherwise how will dimension tables know which of 4 languages to select for company name?
Thanks a lot!