BookmarkSubscribeRSS Feed
Ashwini
Calcite | Level 5

If we create a macro variable in side a data step .Is it work any other data step or work like global or local variable.


Thanks and Regards,

Ashwini

2 REPLIES 2
Ksharp
Super User

If these macro variable are maked at Open code, they are all global macro variables ,you can use them at anywhere  . But if they are maked inside a macro and you don't define them with %global, then they only can be used in this macro(i.e. local macro).

Ksharp

chang_y_chung_hotmail_com
Obsidian | Level 7

You can create both local and global variables by running a data step. If you are using CALL SYMPUT, then there are some complicated exceptions. I tend to use CALL SYMPUTX with the third argument, to show my intention a little bit more clearly:

  %macro mymacro();
    %local local;
    data _null_;
      call symputx('local', 'local', 'local');
      call symputx('global', 'global', 'global');
    run;
    %put _user_;
  %mend mymacro;
  %mymacro()
  %*-- on log
  MYMACRO LOCAL local
  GLOBAL GLOBAL global
  --*;

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
  • 1519 views
  • 0 likes
  • 3 in conversation