Actually, the variable I call "Date" is not actually a date. It is an indicator indicating a participant's survey year, and I created it during the data cleaning stage. However, in the process of writing up an explanation of how I created the variable, I figured out that the problem related to my use of the variable labels in the Where statement and not the actual values. Here is the process I used to create the variable: Starting with two separate datasets, one for survey year 2008 and one for survey year 2016, and I cleaned each one separately before merging them to create the dataset I called "dataset". I created and formatted the variables I'm calling "year" using the simple code: *WHILE CLEANING THE 2008 DATA;
value year 0="2008" 1="2016;
*As part of a data step;
year = 0;
format year year.;
*WHILE CLEANING THE 2016 DATA;
value year 0="2008" 1="2016;
*As part of a data step;
year = 1
format year year.; I then merged the 2008 and 2016 datasets into a single dataset, which included a binary variable called "year" with two values, 0 and 1, and two labels 2008 and 2016 And that is the source of the problem -- I needed to use the values after the equal (=) sign in the Where statement and not the labels. The following code worked perfectly. data sample2008;
set combined;
where year=0;
run; So sorry for the fire drill. It hadn't occurred to me that naming the variable "Year" would signal to others that it was a year variable and not a plain vanilla numeric variable. And since I created the variable more than 6 months ago, I had forgotten that the actual values were 0 and 1. Thanks for your quick reply — it helped me figure out the problem. Kelly
... View more