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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
ERing
Post Partisan
Post Partisan

Possible to create a Unique Key when using Direct Query?

I have a data model which has many to many relationships between several tables. I've provided one example below, where the relationship in the model is FACT_CALL_TABLE.Advertisement_ID to DIM_AD_TABLE.Advertisement_ID. This relationship is many-to-many, however the combinaton of Advertisement_ID & Store_Location makes the relationship many-to-one.

Is it possible for me to join Advertisement_ID and Store_Location to create a unique key between both tables?

Capture.PNG

2 ACCEPTED SOLUTIONS
Anand24
Super User
Super User

Hi @ERing ,
You definely can do this in Power BI.
You need to create a calculated column in both tables. This calculated column should concatenate Advertisement_ID and Store_Location. Now join FACT_CALL_TABLE and DIM_AD_TABLE using this new calculated column.

 

Below would be your DAX for Calculated column in FACT_CALL_TABLE:
Unique_Key_Fact_Table = CONCATENATE(FACT_CALL_TABLE[Advertisement_ID], FACT_CALL_TABLE[Store_Location])

 

Below would be your DAX for Calculated column in DIM_AD_TABLE:
Unique_Key_Dim_Table = CONCATENATE(DIM_AD_TABLE [Advertisement_ID], DIM_AD_TABLE [Store_Location])

Now go to model view and join both tables on FACT_CALL_TABLE.Unique_Key_Fact_Table = DIM_AD_TABLE.Unique_Key_Dim_Table

 

PBI_SuperUser_Rank@1x.png  

Give a Thumbs Up if this post helped you in any way and Mark This Post as Solution if it solved your query !!!

Proud To Be a Super User !!!
LinkedIn

View solution in original post

@ERing ,
Yes.

In case you don't want to use CONCATENATE function, you can simply use FACT_CALL_TABLE[Advertisement_ID] & FACT_CALL_TABLE[Store_Location] for concatenating.

PBI_SuperUser_Rank@1x.png  

Give a Thumbs Up if this post helped you in any way and Mark This Post as Solution if it solved your query !!!

Proud To Be a Super User !!!
LinkedIn

View solution in original post

4 REPLIES 4
ERing
Post Partisan
Post Partisan

Bravo @Anand24 !

Anand24
Super User
Super User

Hi @ERing ,
You definely can do this in Power BI.
You need to create a calculated column in both tables. This calculated column should concatenate Advertisement_ID and Store_Location. Now join FACT_CALL_TABLE and DIM_AD_TABLE using this new calculated column.

 

Below would be your DAX for Calculated column in FACT_CALL_TABLE:
Unique_Key_Fact_Table = CONCATENATE(FACT_CALL_TABLE[Advertisement_ID], FACT_CALL_TABLE[Store_Location])

 

Below would be your DAX for Calculated column in DIM_AD_TABLE:
Unique_Key_Dim_Table = CONCATENATE(DIM_AD_TABLE [Advertisement_ID], DIM_AD_TABLE [Store_Location])

Now go to model view and join both tables on FACT_CALL_TABLE.Unique_Key_Fact_Table = DIM_AD_TABLE.Unique_Key_Dim_Table

 

PBI_SuperUser_Rank@1x.png  

Give a Thumbs Up if this post helped you in any way and Mark This Post as Solution if it solved your query !!!

Proud To Be a Super User !!!
LinkedIn

@Anand24  This can be done while using Direct Query?

@ERing ,
Yes.

In case you don't want to use CONCATENATE function, you can simply use FACT_CALL_TABLE[Advertisement_ID] & FACT_CALL_TABLE[Store_Location] for concatenating.

PBI_SuperUser_Rank@1x.png  

Give a Thumbs Up if this post helped you in any way and Mark This Post as Solution if it solved your query !!!

Proud To Be a Super User !!!
LinkedIn

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 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.

Top Kudoed Authors