Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Reply
Anonymous
Not applicable

Value lookup/ search of multiple values

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 IDEmployee name
12; 44 
56; 33; 34 

 
I have another table called employee translation: 

IDName
12John
44Lena

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: 

Var result=
CONCATENATEX( 'employee translation', if( search( FIRSTNONBLANK'employee translation'[ID] , TRUE()), 'my_table'[employee ID],,999) <> 999, 'employee translation'[name], ""))
return
if( result <> BLANK(), CONCATENATE(result,";"), "Not found")

but this is returning the full employee translation in case the value is found in that table. 

I would appreciate any help. 




1 ACCEPTED SOLUTION
Anonymous
Not applicable

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 🙂

View solution in original post

4 REPLIES 4
v-xiaotang
Community Support
Community Support

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.

vxiaotang_0-1655969639546.png

 

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.

Anonymous
Not applicable

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,

vxiaotang_0-1656495638952.png

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

vxiaotang_1-1656495736677.png

 

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.

Anonymous
Not applicable

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 🙂

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.