BookmarkSubscribeRSS Feed
weweaw
Obsidian | Level 7

Hello,

I need help.  I want a %let statement to equal a variable's value.  If variable order had values of 1-10, I want %let x = order to resolve to the value of order, if the line had 5 for order I want x to be 5, currently for everything I've tried it always resolves to the variable name.

Thanks!

5 REPLIES 5
PhilC
Rhodochrosite | Level 12
Quentin
Super User

Hi,

CALL SYMPUTX can be used to write the value of a data step variable to a macro variable, e.g:

60   data _null_;
61     order=5;
62     call symputx('x',order);
63   run;
64
65   %put &x;
5

weweaw
Obsidian | Level 7

I'm sorry, I meant I have a variable which is numeric, and I want when the let expression is call for that value to come up, it could be several different numbers. Say my data set looks like this

orderVar_1Var_2Var_3Var_4Var_n
10266
423464
72563
8276

3

I want to sum certain variables that are Var_n.  I want to start the sum with the Var_n that is the value of order. 

Astounding
PROC Star

If I understand the question, you have a program that should not be using macro language at all, not even %let statements.

Is this the meaning of your question?  On the first observation, order=1.  Therefore, get the sum of Var_1 through Var_n.   Similarly, on the second observation, order=4.  Therefore, get the sum of Var_4 through Var_n.

If you are looking for something different than what I described, you will have to clarify your objective.

Good luck.

ballardw
Super User

I think you may be looking for an array solution:

Array v var_1 - var_n;

tot=0;

do I = order to dim(v);

     tot = tot + v;

end;

Assuming 1) order is a positive integer 2) order is never larger than the number of variables

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 5 replies
  • 3334 views
  • 1 like
  • 5 in conversation