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?
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.
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.