Hash Null Placeholder (Project)
Applies to
Platform: Microsoft SQL Server · Snowflake · Snowflake dbt · Databricks · Databricks dbt · Fabric Lakehouse · Fabric Warehouse · Oracle
Architecture: Data Store · Data Vault · Dimensional · Data Mart
Hash Null Placeholder (HashNullPlaceholder) is the text that replaces a NULL term value in a hash input. It applies to every key hash and row hash of the project. Set it in Project Settings before the first load.
Values and default
- Format: free text on one line.
- Default:
_NULL_. - Level: project, in the Hashing group of the Additional Settings in Project Settings.
Effect on generated output
Every term value is wrapped in a NULL replacement with the placeholder. With the value ~N~, Microsoft SQL Server generates:
ISNULL([CUSTOMER], N'~N~') + N'_' + ISNULL([CUSTOMER_TYPE], N'~N~')
Fabric Warehouse also uses ISNULL, Oracle NVL, Snowflake and Snowflake dbt IFNULL, Databricks, Databricks dbt and Fabric Lakehouse COALESCE. The replacement comes after Hash Trim and Hash Casing, so the placeholder itself is neither trimmed nor converted to upper or lower case.
A term value equal to the placeholder hashes like NULL. On Oracle an empty string is NULL, so it also hashes like NULL. With Hash Trim, Oracle treats a value of spaces only as NULL as well.
Changing the value
A new placeholder changes every hash that has at least one NULL input. Stored hash values are not recalculated, so the next load treats those rows as changed. The consequences for loaded objects are described in Changing the hash settings.
Available since Generator 2.2. Earlier releases always used _NULL_, so the default keeps hash values unchanged after an upgrade.
Related articles
- Reference: Hash Concatenation Separator (Project), Hash Casing (Project), Hash Trim (Project), Hash Algorithm (Project)
- See also: How biGENIUS-X builds hash values, Manage Project settings and Generator configuration