Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
GUIDS are large, so take a lot of space / aren't the most efficient join.
But if that's all you have - you can, in Power Query, switch them out for surrogate keys you make yourself. Though, I've never done this.
Any experience doing this in Power BI, and/or any thoughts?
Blog post on the subject (and where I got this idea). Just curious other's thoughts and/or experiences. I don't have Premium, so couldn't pull this off in the dataflow, it'd have to be a data-model level attribute.
https://exceleratorbi.com.au/replace-guids-with-a-surrogate-key-for-better-performance/
Do a before and after performance check with DAX Studio and the Power Query Diagnostics. Then you can decide if it is worth the effort or not.
Meh. How many rows are we talking? Millions? Billions? Power BI keeps everything in memory (assuming import mode) so the UX performance gain will likely (easily) be eaten up by the extended ETL timing.
Fact table is quite a few millions, with several GUIDs.
Effectively I've already decided to get some surrogates on database side. I don't know how the join peformance will be impacted, but it'll help keep some of our data models smaller (We're a non-Premium shop, so limited to 1GB).
But was just curious in general if anyone had any experience / input. i.e. - that you don't think the join speed would be all that affected is interesting.