Help using Base SAS procedures

PROC SQL NOT CONTAINS

Reply
Frequent Contributor
Posts: 138

PROC SQL NOT CONTAINS

Hi,

 

I am using proc sql to pull the variable names and labels from a datafile I have and put them into macro vars (one each for varnames and labels). The issue is that I only want to pull in the varname+label pairs for those variables that do not have year values in the labels. This is what I've tried:

 

proc sql noprint;

     select name, label

     into :varnames separated by ' ', :varlabels separated by '#'

     from dictionary.columns

     where upcase(libname)='MYLIB' and

                upcase(memname)='DATAFILE1' and

                label not contains ('%20%');

quit;

 

It runs without any error messages, but it pulls in all variables even if the labels do have years in them.

 

Any help is much appreciated!

Trusted Advisor
Posts: 1,129

Re: PROC SQL NOT CONTAINS

Contains will check for character string , however your goal is to check for numeric if its not present.
so try to replace the label not contains with the below code

compress(label,'kd') eq '';

This way we are keeping only the numeric values in label and they should be missing. So only the variables with labels with no year are selected.
Thanks,
Jag
Respected Advisor
Posts: 4,649

Re: PROC SQL NOT CONTAINS

Try

 

label not contains '20'

 

or

 

label not like '%20%'

PG
Ask a Question
Discussion stats
  • 2 replies
  • 984 views
  • 0 likes
  • 3 in conversation