Hello ,
I am trying to create one variable (type2) from multiple rows per ID using variable type. I want to covert a table like this one:
ID | type |
1 | A |
1 | A |
1 | B |
2 | A |
2 | A |
3 | B |
3 | B |
3 | B |
To:
ID | type2 |
1 | C |
2 | A |
3 | B |
Where type2 is:
If type is always A then type2=A;
If type is always B then type2=B;
If type is a combination of A and B then type2=C;
Thanks
data have; input ID type $; cards; 1 A 1 A 1 B 2 A 2 A 3 B 3 B 3 B ; proc sql; create table want as select id,case when sum(type='A')=count(type) then 'A' when sum(type='B')=count(type) then 'B' when sum(type='A') ne 0 and sum(type='B') ne 0 then 'C' else ' ' end as type2 from have group by id; quit;
data have; input ID type $; cards; 1 A 1 A 1 B 2 A 2 A 3 B 3 B 3 B ; proc sql; create table want as select id,case when sum(type='A')=count(type) then 'A' when sum(type='B')=count(type) then 'B' when sum(type='A') ne 0 and sum(type='B') ne 0 then 'C' else ' ' end as type2 from have group by id; quit;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.