Help using Base SAS procedures

Why would "retain" in the data statement fail to reorder variables?

Accepted Solution Solved
Reply
Contributor
Posts: 41
Accepted Solution

Why would "retain" in the data statement fail to reorder variables?

This does what I'd expect...

data sample;

input d c b a;

cards;

4 3 2 1

;

data retain_method;

retain a b c d;

set sample;

proc print;

run;

----------------------------

The following prints all variables, but fails to reorder them or drop the ones I don't want. 

Note:  Dataset work.a has a mixture of character, date, time, numerical values, and my retain statement is not calling them all because I want to drop them.

data b;

    set a;

    retain GPS_Date GPS_Time GPS_Second Name Speed Bearing Inclinatio East North Up Max_PDOP Max_HDOP  Northing Easting;

proc print data=b (obs=40);

run;

What am I doing wrong?


Accepted Solutions
Solution
‎02-09-2012 03:48 PM
PROC Star
Posts: 7,363

Why would "retain" in the data statement fail to reorder variables?

In order for the retain statement to do what you want it must come BEFORE the set statement.  Similarly, if you want to drop some variables, you can do that in the set statement using the (drop=variablenamesseparatedbyspaces) option.

View solution in original post


All Replies
Solution
‎02-09-2012 03:48 PM
PROC Star
Posts: 7,363

Why would "retain" in the data statement fail to reorder variables?

In order for the retain statement to do what you want it must come BEFORE the set statement.  Similarly, if you want to drop some variables, you can do that in the set statement using the (drop=variablenamesseparatedbyspaces) option.

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 106 views
  • 0 likes
  • 2 in conversation