I have a table with 16 million rows and I would to add a column to the table which I did with :
proc sql;
alter table A
add green num format 8.
quit;
The problem I have now is that I want the columns to be in a specific order. Let's say that I want the new column to be the first one when you read from left.
Does anyone have a clue about how I can do that without creating a new table or read up the whole dateset again(because it takes about one hour)?
Thanks in advance.
How about creating a VIEW not TABLE ,if you have a big table .
Why do you need them in a certain order? It is irrelevant in programming except in certain situations. If it is reporting then set the order in the report program.
Because the ordering of the columns is part of the physical file layout, you cannot reorder the variables without rewriting the dataset.
Since you also need to rewrite the whole dataset to add a column, you can specify the new ordering at this moment.
a) by specifying the wanted order in the SELECT part of a CREATE TABLE statement in PROC SQL.
b) by specifying the variable ordering in an "empty" FORMAT statement before the SET statement in a DATA step.
There's several techniques to archive this you can check a few in the links bellow, but i think you need always to re-write the table.
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.