BookmarkSubscribeRSS Feed
sasmaven
Calcite | Level 5

Hi everyone, 

 

I am trying to transform data into panel data to perform an analysis. 

I have data as "Have" and need to have "Want"

 

how would I do this in easy step?

 

"Have"

Dateamazonwalmart
1/1/2018         1,376            854
2/1/2018         1,283         7,496
3/1/2018            792         2,258

 

"Want"

DateClientvalue
1/1/2018amazon         1,376
2/1/2018amazon         1,283
3/1/2018amazon            792
1/1/2018walmart            854
2/1/2018walmart         7,496
3/1/2018walmart         2,258
2 REPLIES 2
Astounding
PROC Star

Does it need to be complicated?

 

data want;

set have;

length client $ 32;

client = 'amazon';

value = amazon;

output;

client = 'walmart';

value = walmart;

output;

keep date client value;

run;

 

proc sort data=want;

by client;

run;

 

If you have hundreds of clients, we can revisit other possibilities.

Reeza
Super User

PROC TRANSPOSE - wide to long is what you're looking for, the UCLA SAS tutorial page has examples of how to do this either with a data step or PROC TRANSPOSE. Your data is well structured for a PROC TRANSPOSE.

 


@sasmaven wrote:

Hi everyone, 

 

I am trying to transform data into panel data to perform an analysis. 

I have data as "Have" and need to have "Want"

 

how would I do this in easy step?

 

"Have"

Date amazon walmart
1/1/2018          1,376             854
2/1/2018          1,283          7,496
3/1/2018             792          2,258

 

"Want"

Date Client value
1/1/2018 amazon          1,376
2/1/2018 amazon          1,283
3/1/2018 amazon             792
1/1/2018 walmart             854
2/1/2018 walmart          7,496
3/1/2018 walmart          2,258

 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 790 views
  • 0 likes
  • 3 in conversation