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 ;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.