Good morning!
I have a dataset like this
ID V1 V2 V3 V4 V5 V6 ..
a2a2a2a2a2a2a2a 19259999999 19269999999 19269999999 19259999999 19279999999 19289999999 ..
I want to split V1, V2...V50 into two variables like this
ID V11 V12 V21 V22 V31 V32
a2a2a2a2a2a2a2a 1925 9999999 1926 9999999 1926 9999999 etc
thansk for all!!
First question, why do you have a dataset like that. You won't just find this particular problem harder, you will find all coding with that structure harder. As such your current question makes no sense.
It is however possible:
data want1 (keep=id var1--var10) want2 (keep=id var11--var50); set have; run;
But as I say, it makes no sense. Normalise the data items (so they go down) and then process them as data elements.
If you want split variables, for V1, use:
v21 = int(V1 / 1e7);
v22 = mod(V1, 1e7);
Oh, is that what he meant! Still doesn't make much sense, but more than splitting variables between datasets. If they are character then just substr().
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.