Hi,
I'm trying to subset the observations that match the criteria
by if statement but my code below doesn't work
I know I can do it by where statement but I also want to do it by if
data new;
set have;
if subject_id ne "%999%";
run;
sample of the data
subject_id |
200018001 |
200018002 |
200018003 |
200018005 |
200019999 |
200019999 |
200028001 |
200028002 |
200028005 |
200029999 |
200059999 |
200079999 |
200089999 |
200089999 |
200098001 |
200098002 |
200098003 |
200098004 |
200099999 |
200108001 |
200108002 |
200108003 |
200108004 |
200109999 |
% is a wildcard in the WHERE statement with the LIKE operator, not an IF statement.
WHERE statements allow SQL functions, IF statements do not.
where subject_id like '%999%';
The equiavelnt IF statement would be to use FIND() or INDEX() to search for that string.
if find('999', employee_id) > 0 ;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.