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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply

Combining Columns in Different Tables

I have two text columns in separate tables, true_origin[Origin_City_Name] and true_destination[Destination_City_Name]. I want to create a new column/measure that combines the two into one field (i.e. reading like "London/New York"). However, using the CONCATENATE function, as well as an average &" / "& format, doesn't work as it says that it can't find the columns in question. I know this is common for non-calculated columns/measures, but I also tried using the MAX function and it just returns one value for each column entry in testing. How do I get around this?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @RichardLinderma ,
Thank you @saritasw  and @Ritaf1983 for the quick response!

Could you please confirm if the issue has been resolved on your end? If a solution has been found, it would be greatly appreciated if you could share your insights with the community. This would be helpful for other members who may encounter similar issues.
Thank you for your understanding and assistance.

View solution in original post

8 REPLIES 8
Anonymous
Not applicable

Hi @RichardLinderma ,
Thank you @saritasw  and @Ritaf1983 for the quick response!

Could you please confirm if the issue has been resolved on your end? If a solution has been found, it would be greatly appreciated if you could share your insights with the community. This would be helpful for other members who may encounter similar issues.
Thank you for your understanding and assistance.

Ritaf1983
Super User
Super User

Hi @RichardLinderma 
The solution depends on the model and the types of relationships—or even whether relationships exist at all—between the tables.
Therefore, to provide help, we need to see what you’re working with.
Please prepare a small PBIX example containing only the relevant columns, using the original model structure.
Save it to a public cloud service and share the link .

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile

So true_origin and true_destination are both connected to a table named invoice_details as follows:

[invoice_details[b_location_hierarchy_origin] <— true_origin[a_location_hierarchy]]

 

[invoice_details[c_location_hierarchy_destination] <— true_destination[d_location_hierarchy]]

 

I have also provided the following example table for how all six columns/measures look together:

 

Origin_City_Namea_location_hierarchyb_location_hierarchy_originc_location_hierarchy_destinationd_location_hierarchyDestination_City_Name
Tokyo6056605673597359Tokyo
New York City741774171137211372Paris
Paris112041120429182918New York City
Sydney2246224644344434Rio de Janeiro
Cape Town293829381061610616Cape Town
Rio de Janeiro4960496017881788Sydney
London7653765390549054Cairo
Istanbul6664666439593959Toronto
Toronto2256225639413941Bangkok
Bangkok111021110287848784

Istanbul

 

Hope this can give you some ideas.

saritasw
Resolver II
Resolver II

Hi @RichardLinderma ,

 

DAX in Power BI does not allow direct row-by-row references across different tables in a calculated column or measure unless there's a relationship between them.
MAX function returns the max value of that column. It’s an aggregation, not a row-by-row value. That’s why you’re seeing unexpected behavior.

If there's a relationship between the true_origin and true_destination tables , you can use the RELATED function in a calculated column.

CombinedCity = true_origin[Origin_City_Name] & " / " & RELATED(true_destination[Destination_City_Name])


However, If there's no relationship, you may need to create one or use LOOKUPVALUE instead.

***********************************************************************************************************************

If this solution worked for you, kindly mark it as Accept as Solution and feel free to give a Kudos, it would be much appreciated!

Thank you,
Sarita

Hi, so true_origin and true_destination do not have a direct connection with each other, but they are both connected to another table called invoice_details. Hope this clears some stuff up.

Hi @RichardLinderma ,

Thanks for the detailed description.
Your issue stems from trying to directly reference columns from unrelated tables in a calculated column or measure, which isn't allowed unless proper relationships are in place and used correctly.

Assuming you want to create a new column in the invoice_details table that combines the related Origin_City_Name and Destination_City_Name, here's how to do it using the RELATED function.

Combined_Cities = 
RELATED(true_origin[Origin_City_Name]) & " / " & RELATED(true_destination[Destination_City_Name])

RELATED() pulls values from a related table into the current row context. Perfect for what you're trying to do.

In this case, I won't suggest using CONCATENATE() because it requires both arguments to be in the same row context (i.e. from the same table or via relationships). DAX gets confused because it doesn’t know how to combine data from two unrelated row contexts without explicit relationships or context filtering.

************************************************************************************************************

If this solution worked for you, kindly mark it as Accept as Solution and feel free to give a Kudos, it would be much appreciated!

Thank you,
Sarita




Unfortunately, this still hasn't worked. true_origin[Origin_City_Name] and true_destination[Destination_City_Name] are apparently not the right types of parameters for the RELATED function, and it says it can't find Origin_City_Name and Destination_City_Name when using the function anyway.

@RichardLinderma  you mentioned - 

invoice_details[b_location_hierarchy_origin] → true_origin[a_location_hierarchy]

invoice_details[c_location_hierarchy_destination] → true_destination[d_location_hierarchy]

 

These are many-to-one relationships, pointing from invoice_details (many) to true_origin and true_destination (one), which is ideal for RELATED() as long as the relationship is active and correctly set up.

If for some reason the relationships are broken or not recognized, try LOOKUPVALUE() instead. This function doesn't rely on an existing relationship.

Combined_Cities = 
LOOKUPVALUE(
    true_origin[Origin_City_Name],
    true_origin[a_location_hierarchy],
    invoice_details[b_location_hierarchy_origin]
) 
& " / " &
LOOKUPVALUE(
    true_destination[Destination_City_Name],
    true_destination[d_location_hierarchy],
    invoice_details[c_location_hierarchy_destination]
)

This should work regardless of model issues, as long as your key values match exactly.

*****************************************************************************************************

If this solution worked for you, kindly mark it as Accept as Solution and feel free to give a Kudos, it would be much appreciated!

Thank you,
Sarita

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.