- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
Could any one help me Out that how to use Proc sort in macros.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
A macro that will sort a dataset?
%Macro sorter(dsn, var);
proc sort data=&dsn.;
by &var.;
run;
%mend;
%sorter(sample_dataset, age);
will sort sample_dataset by the variable age.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Good question to start with Murray.
Have seen a lot of people starting to learn SAS calling everything a "macro".
Not been aware of te datastep / procedures / sas-macro / scl , metadata and may other artifacts used ad code/programming tools.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you murray
Could you explain me how it works, because i new to sas macros
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
SAS macros is a whole programming language, and teaching a such is not suitable in a forum.
I suggest that you spend some time with the documentation, and potentially read some papers (i.e. from SAS Global Forum), and potentially attend to some training (physical or online).
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Macros allow you to automatically submit programs based on arbitrary requirements.
If I have to sort 100 datasets in the same way, to save time I would write the 'sorter' macro as above, and call it with reference to my 100 datasets, this saves a lot of copying and pasting, as the macro prossesor does that for us.
For a rounded education on macros I would reccomend the SAS Certification Prep Guide:: Advanced Programming for SAS 9, Third Edition. About a thir dof this book looks exclusively at the way macros work.