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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Support for uniqueidentifier keys as 16-byte long bigint/binary in models

Many modern data warehouses use uniqueidentifiers/GUIDs as keys, particularly for systems that are sharded or generate keys from hashes. In native SQL Server queries, this equates to a relatively efficient 16-byte comparison. Power BI does not natively support uniqueidentifiers, but converts them to 36-character Unicode strings. The result is highly inefficient, as the keys must be loaded into a xVelocity dictionary and then suffer 72-byte comparisons. The performance impact is severe enough that there are many blog entries describing (problematic and difficult to maintain) workarounds (e.g. https://exceleratorbi.com.au/replace-guids-with-a-surrogate-key-for-better-performance/).


Power BI should support a 16-byte binary/long-bigint type internally to accommodate the importation of uniqueidentifiers/GUIDs and efficient usage as model keys. The prior generation of BI tools had no difficulty in properly utilizing uniqueidentifier/GUID key columns for joins. If Power BI expects to gain widespread adoption as a next generation tool, it should be fully compatible with data types used in underlying data warehouses.

Status: New
Comments
fbcideas_migusr
New Member
Status changed to: New