We have a data set with columns Name, Month, Day and Sale. And we require a variable like Sale in January Monday for against each name.
Input Data Set
For desired result, first concatenate the Month and Day Variables and then use proc transpose for output.
data Work.Sale (drop = Month Day);
set Work.Sale;
Month_day = Month||'_'||Day;
run;
proc transpose data = Work.Sale out = Work.Sale_trans Prefix= Sale_;
var sale;
id Month_day;
by Name;
run;
Output Data Set
Input Data Set
Name
|
Month
|
Day
|
Sale
|
Geeta
|
Feb
|
Mon
|
19485
|
Geeta
|
Feb
|
Tue
|
27279
|
Geeta
|
Jan
|
Mon
|
27279
|
Geeta
|
Jan
|
Tue
|
7794
|
Ram
|
Feb
|
Mon
|
11691
|
Ram
|
Feb
|
Tue
|
31176
|
Ram
|
Jan
|
Mon
|
19485
|
Ram
|
Jan
|
Tue
|
27279
|
Seeta
|
Feb
|
Mon
|
23382
|
Seeta
|
Feb
|
Tue
|
19485
|
Seeta
|
Jan
|
Mon
|
31176
|
Seeta
|
Jan
|
Tue
|
31176
|
For desired result, first concatenate the Month and Day Variables and then use proc transpose for output.
data Work.Sale (drop = Month Day);
set Work.Sale;
Month_day = Month||'_'||Day;
run;
proc transpose data = Work.Sale out = Work.Sale_trans Prefix= Sale_;
var sale;
id Month_day;
by Name;
run;
Output Data Set
Name
|
Sale_Feb_Mon
|
Sale_Feb_Tue
|
Sale_Jan_Mon
|
Sale_Jan_Tue
|
Geeta
|
19485
|
27279
|
27279
|
7794
|
Ram
|
11691
|
31176
|
19485
|
27279
|
Seeta
|
23382
|
19485
|
31176
|
31176
|
No comments:
Post a Comment