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-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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