5

Case-insensitive supernatural keys

New feature: Ability to choose whether generation of supernatural keys is case sensitive or case insensitive (insensitivity could be done by e.g. uppercasing the fields before hashing).

Problem: Assume that the fact table contains a reference to item 'ABC' and the dim table contains item 'abc'. If the fact/dim relationship is based on the item fields, SQL would normally match these two keys and get the relationship/join right. But if the items are hashed and the relationship based on the hashed values (e.g. for Tabular and Power BI), they get hashed to two different values and the relationship breaks.

Solution: Uppercasing all item fields prior to hashing solves the problem but is a laborious process to do manually. A default project setting for case sensitivity/insensitivity plus a per-supernatural-key option to override this setting would be great in these Tabular and Power BI times ... a little bit like how we have default relationships but can override each individual relationship's settings (error, warning, etc.).

4 comments

Please sign in to leave a comment.