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,
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
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
Perfect, Thanks
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.