DATA Step, Macro, Functions and more

Change the Column Order

Reply
Contributor
Posts: 58

Change the Column Order

Hi All,

 

I have an imported dataset (from a text file) and added only one column to the table / dataset called "Data_Source".  The position of the added column is Last.  How can I move it to First?

 

Columns Order IS:

A    B    C   D   Data_Source

 

Column Order Desired:

Data_Source  A    B    C   D

 

Many Thanks

 

Super Contributor
Posts: 305

Re: Change the Column Order

hEllo,

 

how have you added the column ? If you have used a data step than you can put it in the first position by simply naming it before the set statement. For example:

 

data want;

length a $ 15;

set sashelp.class;

a='z'||name;

run;
Contributor
Posts: 58

Re: Change the Column Order

Here is my code to add the new column, not in the text file that was imported.

 

 

/* Add Field */

proc sql;

alter table work.Loan_Detail_&i.

add Data_Source CHAR(35);

run;

 

Super User
Posts: 5,256

Re: Change the Column Order

There have been quite a few threads with this topic on the communities, pls do a search.
Question is, why bother about column order? Leave that to the reporting part.
Data never sleeps
Contributor
Posts: 58

Re: Change the Column Order

I found some code that works.   Not sure how it works but it move my columns to the front.

 

 

/* Change Order of Fields*/

data work.ALL_MONTHS_LOAN_DETAIL;

retain Source_Date Data_Source;

set ALL_MONTHS_LOAN_DETAIL;

run;

Super User
Posts: 5,256

Re: Change the Column Order

That will force a table rewrite, but isn't a problem if it's small.
Another option is to keep an empty template table, with your preferred column order, labels, formats etc. Then append your incoming data to that table.
Data never sleeps
Ask a Question
Discussion stats
  • 5 replies
  • 263 views
  • 5 likes
  • 3 in conversation