BookmarkSubscribeRSS Feed
Grandhi4
Calcite | Level 5

How to develop a code in SAS Macros like a XL (formulas) can i get any sample code or example ?

1 REPLY 1
Cynthia_sas
Diamond | Level 26

Hi:

  An Excel formula is different from a SAS Macro program. For example, if you build a formula in Excel for a new column (D) based on multiplying the value in column B by the value in column C, you might have a formula like:

=sum(b2*c2)

and then you might copy that formula down the entire column D (see excel formula part of the screenshot) in order to populate the whole column with values.

  But in SAS, if column B represented VALUE and column C represented DISCOUNT and column D represented DISCVAL (final discount value), then you would calculate DISCVAL this way (in a longer program shown in screenshot):

DISCVAL=VALUE * DISCOUNT;

So I'm not sure you really need a SAS Macro program. It might be overkill to use a SAS macro program to create a new variable, if that's all you wanted/needed to do. I wonder whether it might be better to read about basic SAS concepts, like DATA step processing and how to write a SAS program. SAS is not a WYSIWYG application (what you see is what you get), like Excel or Word. You can't manipulate SAS variables in the same way that you can manipulate values in a worksheet. A SAS macro program does not operate the same way than an Excel macro operates.

  To effectively use SAS macro programs and macro variables, you really need to understand the basics of using SAS, because the first "rule" of macro is to have a working SAS program. Here's a good paper on the basics of DATA step programming:

http://www.nesug.org/proceedings/nesug08/ff/ff12.pdf

http://www2.sas.com/proceedings/sugi29/269-29.pdf

http://www2.sas.com/proceedings/sugi31/246-31.pdf

and the documentation has some good sections:

http://support.sas.com/documentation/cdl/en/lrcon/62753/HTML/default/viewer.htm#p1bidsfinjj8w4n1ih91...

http://support.sas.com/documentation/cdl/en/lrcon/62753/HTML/default/viewer.htm#n14v4oo5h1p5r0n1ayun...

And, for overview information about SAS Macro processing, this is a good paper:

http://www2.sas.com/proceedings/sugi28/056-28.pdf

  

cynthia


excel_formula.png

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
  • 1 reply
  • 993 views
  • 0 likes
  • 2 in conversation