Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello,
I have a problem that I cannot seem to solve with DAX. I will appreciate any help from you.
I have a table my_table that contains a column with one or more employee IDs per cell, for example:
employee ID | Employee name |
12; 44 | |
56; 33; 34 |
I have another table called employee translation:
ID | Name |
12 | John |
44 | Lena |
now I am trying to lookup the value of the IDs and adding the respective name to the first table. for example the value of the first row in 'my_table'[employee name] should be: John; Lena
I tried the following:
Solved! Go to Solution.
Thanks for the replies! I ended up doing transform data before and translated each name seperatly then concatenated all names.
This worked better for me!
thanks 🙂
Hi @Anonymous
Thanks for reaching out to us.
>>but this is returning the full employee translation in case the value is found in that table.
so what's the expected outcome? It has three scenarios, one is that all values can be found in that table, the other is that some of them can be found, and the third is that none of them can be found.
Best Regards,
Community Support Team _Tang
If this post helps, please consider Accept it as the solution to help the other members find it more quickly.
Hello, it is returning all values meaning even the values that are not in the cell are being returned.
for example cell one should return John; Lena. assume the employee translation table has names: John, Lena, christian and Lisa. the DAX is returning all names John; Lena; christian; Lisa and not just the names found in the cell.
hope that clarifies
Hi @Anonymous
Thanks for your reply.
>> it is returning all values meaning even the values that are not in the cell are being returned.
So your expected result is that measure only returns the name that can be found in translation.
-
So what I am confused about is that currently this column has achieved this result. As you can see,
For row1, Column="JohnLena;", you can optimize it like this
Column =
Var result=
CONCATENATEX( 'employee translation', if( search( FIRSTNONBLANK( 'employee translation'[ID] , TRUE()), 'my_table'[employee ID],,999) <> 999, 'employee translation'[name],""),";")
return
if(LEN(result)>1, result, "Not found")
result
Best Regards,
Community Support Team _Tang
If this post helps, please consider Accept it as the solution to help the other members find it more quickly.
Thanks for the replies! I ended up doing transform data before and translated each name seperatly then concatenated all names.
This worked better for me!
thanks 🙂
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
10 | |
8 | |
8 | |
8 | |
6 |
User | Count |
---|---|
14 | |
12 | |
11 | |
9 | |
9 |