DATA Step, Macro, Functions and more

Transposing a dataset

Accepted Solution Solved
Reply
Contributor
Posts: 28
Accepted Solution

Transposing a dataset

Good Morning,

I have a SAS dataset that contains the following columns:

EmployeeID

Month1_Date

Month2_Date

Month3_Date

Month1_Target

Month2_Target

Month3_Target

I would like it so a new dataset would just show EmployeeID Date Target so for each row in the original dataset, there will be 3 rows in the resultant dataset.

For Example:

Original Dataset

EmployeeID     Month1_Date     Month2_Date     Month3_Date     Month1_Target     Month2_Target     Month3_Target

123                    1SEP2014          1OCT2014          1NOV2014          0.75                    0.85                         0.90

Desired Dataset

EmployeeID     Month          Target

123                 1SEP2014     0.75

123                 1OCT2014     0.85

123                 1NOV2014     0.90

Kind Regards,



Accepted Solutions
Solution
‎10-06-2014 06:29 AM
Trusted Advisor
Posts: 1,131

Re: Transposing a dataset

Please try

data want;

set have;

array dat(3) Month1_Date Month2_Date Month3_Date;

array tar(3) Month1_Target Month2_Target  Month3_Target;

do i = 1 to 3;

Month = dat(i);

target= tar(i);

output;

end;

format month date9.;

keep EmployeeID month target;

run;

Thanks,

Jag

Thanks,
Jag

View solution in original post


All Replies
Solution
‎10-06-2014 06:29 AM
Trusted Advisor
Posts: 1,131

Re: Transposing a dataset

Please try

data want;

set have;

array dat(3) Month1_Date Month2_Date Month3_Date;

array tar(3) Month1_Target Month2_Target  Month3_Target;

do i = 1 to 3;

Month = dat(i);

target= tar(i);

output;

end;

format month date9.;

keep EmployeeID month target;

run;

Thanks,

Jag

Thanks,
Jag
Contributor
Posts: 28

Re: Transposing a dataset

Perfect, Thanks

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 160 views
  • 1 like
  • 2 in conversation