![]()  | 
  
    PING
    0.9
    
   Statistical data handling and processing in production environment 
   | 
 
Extract the values of a given variable in a dataset into an unformatted (i.e., unquoted and blank-separated) list.
dsn : a dataset reference;var : either a field name, or the position of a field name in, in &dsn, whose values (observations) will be converted into a list;distinct : (option) boolean flag (yes/no) set to return in the list only distinct values from &var variable; in practice, runs a SQL SELECT DISTINCT process prior to the values' extraction; default: distinct=NO, i.e. all values are returned;sep : (option) character/string separator in output list; default: %str( ), i.e. sep is blank;where : (option) SAS expression used to further refine the selection (WHERE option); should be passed with %str; default: empty;na_rm : (option) boolean flag (yes/no) set to remove missing (NA) values from the observations; default: na_rm=YES, therefore all missing (. or ' ') values will be discarded in the output list;lib : (option) output library; default: lib is set to WORK._varlst_ : name of the macro variable used to store the output list, i.e. the (blank separated) list of (possibly non-missing) observations in &var.
Let us consider the test dataset #28 as dsn: 
| geo | value | 
|---|---|
| AT | 1 | 
| '' | . | 
| BG | 2 | 
| '' | 3 | 
| FR | . | 
| IT | 4 | 
then the following call to the macro:
 will both return: ctry=AT BG FR IT, while:
 will return: val=1 2 3 4, and:
 will both return: val=1 . 2 3 . 4.
Run macro %_example_var_to_list for more examples.
distinct=YES, and na_rm=YES:na_rm=NO), an empty list is returned.