BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
braverju
Obsidian | Level 7

Dear everybody!

How can I refer to the dynamic name of the format?

 

Here is my situation:

 

%Macro myMacro (myVar);

   PROC FORMAT CNTLOUT= fmtdataset;
       VALUE &myVar 
          1 = 'Label1'
          2 = 'Label2'
      ;
  RUN;

  Data somedataset_formatted;

      set somedataset;

      FORMAT &myVar &myVar. ;   /*I also tried FORMAT &myVar "&myVar."; – get a syntax error message */

  RUN;

%Mend myMacro

 

When I call %myMacro (variableName) I get no errors. The file fmtdataset contains the appropriate format "variableName". However, in the dataset "somedataset" the variable variableName doesn't get formatted. If I replace the macro with values, i.e., 

FORMAT variableName variableName.  it works just fine.

 

Thank you very much

 

Julia

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User
I think you need an extra period at the end of the format name. Periods are used to indicate the end of a macro variable, so the first one gets used by the macro variable and the second is for the format.

FORMAT &myVar &myVar.. ;

View solution in original post

2 REPLIES 2
Reeza
Super User
I think you need an extra period at the end of the format name. Periods are used to indicate the end of a macro variable, so the first one gets used by the macro variable and the second is for the format.

FORMAT &myVar &myVar.. ;
braverju
Obsidian | Level 7
Hurray! It worked. Thank you very much!

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1345 views
  • 2 likes
  • 2 in conversation