BookmarkSubscribeRSS Feed
robertrao
Quartz | Level 8

Hi,

I have this MAcro and I have two datasets passed to it as a trial

4 REPLIES 4
LinusH
Tourmaline | Level 20

Looks like you are doing things a bit more complicated than needed.

Instead of passing a list of tables to the macro, just call the macro for each table. That will reduce the amount of logic within the macro, and therefore easier to maintain (and troubleshoot).

Data never sleeps
Astounding
PROC Star

Linus,

I'm familiar with this application, and can promise you that this is just a test run.  There are actually more like 80 data sets to be processed.

K,

You will have to attach the log if you want any help from the forum.  That's what tells us what went wrong.  If you didn't have the MPRINT option in place, you may need to re-run with it before posting the log:

options MPRINT;

LinusH
Tourmaline | Level 20

2 or 80, does that matter?

The effort to write the call is about the same, just repeating the macro name...?

Even better, having all contributing tables in a lookup table, or reading the names from sashelp.vmember, you could use call execute.

Data never sleeps
Ron_MacroMaven
Lapis Lazuli | Level 10

This page has code to create a list of data sets.

http://www.sascommunity.org/wiki/Making_Lists

This macro can be used to call a macro for each row in a data set

http://www.sascommunity.org/wiki/Macro_CallMacr

Ron Fehd  list processing maven

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 4 replies
  • 1235 views
  • 2 likes
  • 4 in conversation