Managing null values in data groups
DM
When you define a data group, you can specify how to manage fields containing null values. This determines how data containing null values is grouped before the actual match process. The Allow null fields setting applies to all fields within a Network object in the same data group; for example, all address fields. You configure a data group to either ignore or consider null fields.
Null value options must be applied to all fields on an entity or sub-object, instead of individual fields. For example, if first_name__v and last_name__v fields have been selected in the Fields list, they are grouped as the following in the Allow null fields list: HCP (first_name__v, last_name__v). If another HCP field is selected in the Fields list, it is automatically added to the HCP group in the Allow null fields list. This helps data blocks to be created and processed more efficiently.
Sample data group definitions
These are the data group definitions to disallow null fields in both Basic and Advanced modes:
<staticBlocker> <archetype> <name>Data Group 1</name> <comments></comments> <enabled>true</enabled> <child> <base>addresses__v</base> <field>premise__v</field> <field>locality__v</field> <field>thoroughfare__v</field> <allowNullFields>false</allowNullFields> </child> </archetype> </staticBlocker>
These are the data group definitions to allow null fields in both Basic and Advanced modes:
<staticBlocker> <archetype> <name>Data Group 1</name> <comments></comments> <enabled>true</enabled> <child> <base>addresses__v</base> <field>premise__v</field> <field>locality__v</field> <field>thoroughfare__v</field> <allowNullFields>true</allowNullFields> </child> </archetype> </staticBlocker>
Example: Different addresses with null fields
Street Name (thoroughfare__v) | City (locality__v) | State (administrative_area__v) | |
---|---|---|---|
1 | Main Street | New York | NY |
2 | North Street | San Francisco | CA |
3 | West Street | NJ |
Outcomes
Setting | Data Groups Created | Notes |
---|---|---|
Do not allow null fields |
|
Addresses 1 and 2 will have their own data groups. Address 3 has a null value in the city field, so it will not have a data group. If Address 3 does not fall into another data group, an error will occur when the source subscription is run. |
Allow null fields |
|
All addresses will have its own data group; there will be only one record in each data group. |
Example: Similar addresses with null fields
Street Name (thoroughfare__v) | City (locality__v) | State (administrative_area__v) | |
---|---|---|---|
1 | Main Street | New York | NY |
2 | North Street | San Francisco | CA |
3 | North Street | CA |
Outcomes
Setting | Data Groups Created | Notes |
---|---|---|
Do not allow null fields |
|
Null fields are not allowed, so Address 3 will not have a data group.
Addresses 1 and 2 will have their own data group; there will be only one record in each data group. |
Allow null fields |
|
All addresses above will have its own data group; there will be only one record in each data group. Address 3 will have a data group, but it is different than the group that address 2 is put into because the contents of the fields differ. |
Example: HCP and address data with null fields
First Name (first_name__v) |
Last Name (last_name__v) |
Street Name (thoroughfare__v) |
City (locality__v) |
State (administrative_area__v) |
|
---|---|---|---|---|---|
1 | John | Smith | Main Street | New York | NY |
2 | John | Smith | |||
3 | John | Smith | North Street | CA |
Do not allow null fields
<staticBlocker> <archetype> <name>Data Group 1</name> <comments></comments> <enabled>true</enabled> <field>first_name__v</field> <field>last_name__v</field> <allowNullFields>false</allowNullFields> <child> <base>addresses__v</base> <field>premise__v</field> <field>locality__v</field> <field>thoroughfare__v</field> <allowNullFields>false</allowNullFields> </child> </archetype> </staticBlocker>
Allow null fields
<staticBlocker> <archetype> <name>Data Group 1</name> <comments></comments> <enabled>true</enabled> <field>first_name__v</field> <field>last_name__v</field> <allowNullFields>true</allowNullFields> <child> <base>addresses__v</base> <field>premise__v</field> <field>locality__v</field> <field>thoroughfare__v</field> <allowNullFields>true</allowNullFields> </child> </archetype> </staticBlocker>
Outcomes
Setting | Data Groups Created | Notes |
---|---|---|
Do not allow null fields |
|
Address 1 will have its own data group, containing that one record. Addresses 2 and 3 will not have data groups. If addresses 2 and 3 do not fall into other data groups, an error will display when the source subscription is run. |
Allow null fields |
|
All addresses will have its own data group; there will be only one record in each data group. One data group will be created with only the first and last name due to the missing address, and another data group will be created with the partial third address |