Dear Tom, I know this is not right place to post my query. But i need your help if you please. I am attaching files that i need to transform same like the sample file present in the attachment. Can you please help me with the procedure. I shall be thankful to you.
I "branched" this into a new topic.
Your data looks simple enough to use PROC TRANSPOSE.
Your BY variables should be FIRM and COUNTRY.
Your ID variable is VARIABLE.
And you can use _: to tell it to transform all of the _ variables. In the output data set these variable names will be in the _NAME_ variable and the _LABEL_ value seems to have the actual YEAR value ('2005' for example is the label for the _005 variable).
BUT your FIRM/COUNTRY/VARIABLE combinations are NOT distinct. For example FIRM='SUZA'.
Perhaps if you add another variable?
It seems to me that when VARIABLE='ROA' it is starting a new block of values.
Note that the values of VARIABLE could also be cleaned up to make them more consistent with each other and with your sample target table.
In Particular I found that some of the value have leading spaces.
So this little program let me at least transpose the data.
data fix_emerging;
set tmp3.emerging;
by firm country notsorted;
variable=LEFT(UPCASE(VARIABLE));
block+(first.country or variable='ROA');
run;
proc transpose data=fix_emerging out=want (rename=(_label_=year));
by block firm country ;
id variable ;
var _: ;
run;
many many Thanks dear TOM it is done.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.