Previous Page | Next Page

The DQSCHEME Procedure

Example 4: Applying Schemes


In this example, the APPLY statement generates cleansed data in the VENDORS_OUT data set. All schemes are applied before the result is written into the output data set. The locale ENUSA is assumed to be loaded into memory as part of the locale list.

/* Create filerefs with required suffixes. */
filename city 'c:\my schemes\city.sch.bfd';
filename state 'c:\my schemes\state.sch.bfd';
filename org 'c:\my schemes\org.sch.bfd';

/* Create the input data set. */
data vendors;
  input city $char17. state $char22. company $char36.;
datalines;
Detroit          MI                               Ford Motor
Dallas           Texas                           Wal-mart Inc.
Washington  District of Columbia   Federal Reserve Bank

/* See Example 1: Creating an Analysis Data Set for the full data set. */

Washington  District of Columbia   Federal Reserve Bank
Atlanta          GEORGIA                  Target
;
run;

proc dqscheme data=vendors out=vendors_out bfd;
  create matchdef='City (Scheme Build)'
    var=city scheme=city_scheme locale='ENUSA';
  create matchdef='State (Scheme Build)' 
     var=state scheme=state_scheme locale='ENUSA';
  create matchdef='Organization (Scheme Build)' 
     var=company scheme=org_scheme locale='ENUSA';
  apply var=city scheme=city_scheme;
  apply var=state scheme=state_scheme;
  apply var=company scheme=org_scheme;
run;

title 'Result after Applying all Three SAS Format Schemes';
proc print data=work.vendors_out;
run;

Note that the APPLY statements do not specify a locale. Nor do they specify the scheme lookup method using the SCHEME_LOOKUP= option. Because neither the locale nor the lookup method is specified, the schemes are applied with the ENUSA locale. The ENUSA locale is stored in the schemes.

SCHEME_LOOKUP=EXACT (the default) specifies that the value in the scheme replaces the input value in the output data set. This occurs when an exact match is found between the input value and a DATA value in the scheme. Using the default scheme apply mode MODE=PHRASE is used, each input value is compared to the DATA values in the scheme.

Note:   This example is available in the SAS Sample Library under the name DQAPPLY.  [cautionend]

Previous Page | Next Page | Top of Page