BookmarkSubscribeRSS Feed
scb
Obsidian | Level 7 scb
Obsidian | Level 7

data sensitive;
input type1 $ type2 $ var1 $ var2 $ var3 $ var4 $;
cards;
t1 ta custid custname m mobile
;

 

With the dataset above, how can I transpose var1,var2,var3,and var4 only? The desired dataset should look like:

 

Var_need

custid

custname

m

mobile

 

Is it possible? Anyone can help? Thanks.

4 REPLIES 4
andreas_lds
Jade | Level 19

Using a loop and the output-statement:

data work.want;
   set work.sensitive;
   length Var_Need $ 8; /* important: must be equal to max vlength of var1-var4 */
   array vars var1-var4;
   
   do i = 1 to dim(vars);
      Var_Need = vars[i];
      output;
   end;

   keep Var_Need;
run;
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This is not complicated, what have you tried?  Have you for instance tried the tranpose procedure, which you may find useful in this case:

data sensitive;
  input type1 $ type2 $ var1 $ var2 $ var3 $ var4 $;
cards;
t1 ta custid custname m mobile
;
run;

proc transpose data=sensitive out=want;
  by type1 type2;
  var var:;
run;
ShiroAmada
Lapis Lazuli | Level 10

Try this...

proc transpose data=HAVE out=WANT;
  var VAR: ;
run;

 

Hope this helps.

soham_sas
Quartz | Level 8

@scb you can do it like below 

 

data sensitive;
input type1 $ type2 $ var1 $ var2 $ var3 $ var4 $;
cards;
t1 ta custid custname m mobile
;
run;

proc transpose data=sensitive out=want(drop=_name_ rename=(col1=var_need));
var var1-var4;
run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1362 views
  • 0 likes
  • 5 in conversation