I have a one column data which contains information about multiple observations.
Each observation starts with a first column value of "notes".
I.E.
notes
name A1
code B1
...
notes
name A2
code B2
...
...
notes
name A200
code B200
...
Is there a good way to transpose this into 200 rows?
PS. I would like to have name, code, ..., as my column variables after transposing.
Like this?
data HAVE;
input COL1 $16.;
cards;
notes
name A1
code B1
..
notes
name A2
code B2
;
run;
data WANT;
set HAVE;
length NAME CODE $8;
retain NAME;
if COL1=:'name' then NAME=substr(COL1,6);
if COL1=:'code' then do ;
CODE=substr(COL1,6);
output;
call missing(NAME, CODE);
end;
run;
Like this?
data HAVE;
input COL1 $16.;
cards;
notes
name A1
code B1
..
notes
name A2
code B2
;
run;
data WANT;
set HAVE;
length NAME CODE $8;
retain NAME;
if COL1=:'name' then NAME=substr(COL1,6);
if COL1=:'code' then do ;
CODE=substr(COL1,6);
output;
call missing(NAME, CODE);
end;
run;
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.