proc dqmatch data = sample out = cluster_out (compress=yes) matchcode=match_cd
cluster = cluster_id;
criteria condition = 1 var = FULL_NAME matchdef='Name India' sensitivity=85;
criteria condition = 1 var = ENGINENO_5 matchdef='Text' sensitivity=95;
criteria condition = 1 var = CHASSISNO_5 matchdef='Text' sensitivity=95;
When I am running this code, the second var engineno_5 qne chassino_5 has blank values and in sas dqmatch it is grouping in the same cluster if there is a match with just one condition of full_name. I need a code where it has to match all the three conditions to group it in the same cluster. In Dataflax the blank or null value is not considered.
@sameer112217 wrote:
proc dqmatch data = sample out = cluster_out (compress=yes) matchcode=match_cd
cluster = cluster_id;
criteria condition = 1 var = FULL_NAME matchdef='Name India' sensitivity=85;
criteria condition = 1 var = ENGINENO_5 matchdef='Text' sensitivity=95;
criteria condition = 1 var = CHASSISNO_5 matchdef='Text' sensitivity=95;
When I am running this code, the second var engineno_5 qne chassino_5 has blank values and in sas dqmatch it is grouping in the same cluster if there is a match with just one condition of full_name. I need a code where it has to match all the three conditions to group it in the same cluster. In Dataflax the blank or null value is not considered.
I don't have any actual experience with this procedure but from the documentation on the CRITERIA statement
EXACT | MATCHDEF=
assigns a cluster number.
EXACT
assigns a cluster number based on an exact character match between values.
Restriction If you specify the EXACT= option, you cannot specify the MATCHDEF= option, the MATCHCODE= option, or the SENSITIVITY= option. MATCHDEF=match-definition
specifies the match-definition that is used to create the match code for the specified variable.
Restrictions The match-definition must exist in the locale that is specified in the LOCALE= option of the DQMATCH procedure. If you specify the MATCHDEF= option, you cannot specify the EXACT option, the MATCHCODE= option, or the SENSITIVITY option.
(some emphasis added)
it appears that you need to rethink the condtions as MATCHDEF and SENSITIVITY apparently are incompatible. I would check your log for any notes about one or more of the options being ignored or similar.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.