How do I arrange/control columns when I use proc export?
I'm thinking of something like a "var" statement in proc print.
EG: I have a vbl called AGE, and another called AgeGrouped; when using export Age goes to Col B and AgeGrouped goes to Col F. I want to have them together to give to client, for his use..
Similar/related question: is there a way to arrange columns in a SAS dataset? If I could arrange things there then proc export might do what i want.
Ordering the variables in a SAS data set requires understanding the Program Data Vector. Read this chapter and see if that solves your problem:
'Retain' will change the column order. The Proc Export column order from the origional dataset is: name | Emp_Id | dept
After altering the datset using Retain, The Proc Export column order is: name | dept | Emp_Id
http://www.sascommunity.org/wiki/Re-ordering_variables
data people;
input name $ Emp_Id dept $;
datalines;
Timothy 225 Finance
Mark 301 Risk
Matt 249 IT
;
run;
* Change column order ;
Data people ;
Retain name dept Emp_Id;
Set people;
Run;
Alternaitvely, don't use proc export as you are basically letting some code guess what you want as output. There are other options out there:
- tagsets.excelxp + proc report - good for most uses.
- datastep to csv - Excel can read an interpret, flat text file so portable, virtually everything can read it.
- XML - your own particular XML creation, from datastep
And what's wrong with Proc print using NOOBS option?
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.