BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi

No idea if this is the right place to put this - please let me know where if not.

New to SAS (new gig, new tools). I am trying to adjust a macro that takes input from a delimited, variable length file and spits it into a SAS output file. I want to select a subset of columns and change the order. How might I do this please? Below indicative of what I am trying to do. I would like the output columns to be THATCOLUMN and then THISCOLUMN. Any help very gratefully received.

%macro test_macro (indset =, outdset =);
data &outdset (keep = THATCOLUMN THISCOLUMN);
infile &indset delimiter = '|' dsd truncover lrecl = 1500;
input THISCOLUMN : 9.
THATCOLUMN : 9.
ANOTHERCOLUMN : 9.;
run;
%mend test_macro;

Thanks
2 REPLIES 2
Olivier
Pyrite | Level 9
Just add a LABEL statement for your variable between the DATA and the INFILE statement ; in that LABEL, give the names of the columns in the order that you want them at the end...

%macro test_macro (indset =, outdset =);
data &outdset (keep = THATCOLUMN THISCOLUMN);
LENGTH THATCOLUMN = "That column" THISCOLUMN = "This column" ;
infile &indset delimiter = '|' dsd truncover lrecl = 1500;
input THISCOLUMN : 9.
THATCOLUMN : 9.
ANOTHERCOLUMN : 9.;
run;
%mend test_macro;
deleted_user
Not applicable
Brilliant thanks Oliver. Obviously, you gave the right answer but got distracted when you wrote out the code (LENGTH rather than LABEL).

I appreciate that a lot 🙂

sas-innovate-2024.png

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.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 785 views
  • 0 likes
  • 2 in conversation