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

Join us at FabCon Vienna from September 15-18, 2025, for the ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM. Get registered

Reply
VirajD
Regular Visitor

IDENTITY column for generation of Surrogate keys in Fabric Warehouse

Hi,

 Since Fabric Warehouse does not support the IDENTITY functionality on a column for Surrogate key generation, is anyone aware of any alternate practical method to generate surrogate keys apart from the NEWID() function and MAXID + ROW_NUMBER() approach ?

 

 

1 ACCEPTED SOLUTION
DataBard
Resolver II
Resolver II

Hi @VirajD ,

One other approach I've seen used in Fabric is creating a hash of your data and using that as a surrogate key. 

 

For example if you have a PersonID, you could do this:

HASHBYTES('SHA2_256', CONVERT(varchar(800), PersonID))

Depending on your definition, it's not a surrogate key because it's derived from your existing data.

 

If this isn't a viable option, I haven't seen any alternatives to date beyond the ones you've ruled out. You'd likely need to either build your own solution to create a surrogate or otherwise find another option.

View solution in original post

3 REPLIES 3
v-prasare
Community Support
Community Support

Hi @VirajD,

As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided for your issue worked? or let us know if you need any further assistance here?

 

 

 

Thanks,

Prashanth Are

MS Fabric community support

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly and give Kudos if helped you resolve your query

The solution provided is accepted.

DataBard
Resolver II
Resolver II

Hi @VirajD ,

One other approach I've seen used in Fabric is creating a hash of your data and using that as a surrogate key. 

 

For example if you have a PersonID, you could do this:

HASHBYTES('SHA2_256', CONVERT(varchar(800), PersonID))

Depending on your definition, it's not a surrogate key because it's derived from your existing data.

 

If this isn't a viable option, I haven't seen any alternatives to date beyond the ones you've ruled out. You'd likely need to either build your own solution to create a surrogate or otherwise find another option.

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.

May FBC25 Carousel

Fabric Monthly Update - May 2025

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