Hi Everyone,
I have the Data in the below structure, I just want to check A variable numbers in B variable List. If the A variable Number not found in B variable I need that non matching record in output.
Sno | A | B |
1 | 1 | 1,2,3,4,5,6,7,8,9,10 |
2 | 2 | 1,2,3,4,5,6,7,8,9,10 |
3 | 4 | 1,2,3,4,5,6,7,8,9,10 |
4 | 5 | 1,2,3,4,5,6,7,8,9,10 |
5 | 1,2 | 1,2,3,4,5,6,7,8,9,10 |
6 | 2,6 | 1,2,3,4,5,6,7,8,9,10 |
7 | 3,8 | 1,2,3,4,5,6,7,8,9,10 |
8 | 0,11 | 1,2,3,4,5,6,7,8,9,10 |
9 | 12,8,18 | 1,2,3,4,5,6,7,8,9,10 |
Note;- Both variables in Character.
Here i am supposed to get 8th and 9th Observation in output.Please help me on this.
A simple datastep approach :
data have;
length A B $32;
input Sno A B;
datalines;
1 1 1,2,3,4,5,6,7,8,9,10
2 2 1,2,3,4,5,6,7,8,9,10
3 4 1,2,3,4,5,6,7,8,9,10
4 5 1,2,3,4,5,6,7,8,9,10
5 1,2 1,2,3,4,5,6,7,8,9,10
6 2,6 1,2,3,4,5,6,7,8,9,10
7 3,8 1,2,3,4,5,6,7,8,9,10
8 0,11 1,2,3,4,5,6,7,8,9,10
9 12,8,18 1,2,3,4,5,6,7,8,9,10
;
data absent;
length missNumber $12;
set have;
do i = 1 to countw(A);
missNumber = scan(A, i, ",");
if findw(B, missNumber, ",", "t") = 0 then do;
output;
leave; /* Remove this statement to get all missing numbers */
end;
end;
keep Sno missNumber;
run;
proc print data=absent noobs; run;
PG
A simple datastep approach :
data have;
length A B $32;
input Sno A B;
datalines;
1 1 1,2,3,4,5,6,7,8,9,10
2 2 1,2,3,4,5,6,7,8,9,10
3 4 1,2,3,4,5,6,7,8,9,10
4 5 1,2,3,4,5,6,7,8,9,10
5 1,2 1,2,3,4,5,6,7,8,9,10
6 2,6 1,2,3,4,5,6,7,8,9,10
7 3,8 1,2,3,4,5,6,7,8,9,10
8 0,11 1,2,3,4,5,6,7,8,9,10
9 12,8,18 1,2,3,4,5,6,7,8,9,10
;
data absent;
length missNumber $12;
set have;
do i = 1 to countw(A);
missNumber = scan(A, i, ",");
if findw(B, missNumber, ",", "t") = 0 then do;
output;
leave; /* Remove this statement to get all missing numbers */
end;
end;
keep Sno missNumber;
run;
proc print data=absent noobs; run;
PG
Thanks a lot, It's working Fine.
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.