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?
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.