Hi , try adding another macro variable: %macro LMGenerate(mymktdata,yeartag,dsn); data &mymktdata.highliquidity; *blah blah; run; data &mymktdata.lowliquidity; *blah blah; run; *this is basically difference of above 2 datasets data &dsn._ liquiditypremiums; update &mymktdata.lowliquidity(in = a) &mymktdata.highliquidity(in =b); by year; if a & b then do; netpremium=lowliquiditytotal-highliquiditytotal; output; end; run; %mend LMGenerate; %LMGenerate(yr2010mktdata,2010,aaa ) %LMGenerate(yr2011mktdata,2011,bbb )
... View more