I added if condition but it seems not applied.
if state= 3 then
do i = 1 to 4;
if a[2*i-1] NE 0 then
do;
b[4*i-3] = c[i] - a[(2*i-1)];
b[4*i-2] = b[4*i-3] / a[(2*i-1)];
end;
if a[2*i] NE 0 then
do;
b[4*i-1] = c[i] - a[2*i];
b[4*i] = b[4*i-1] / a[2*i];
end;
end;
Why?
What is this code in? It seems to me to be invalid SAS code. The if syntax is:
if <logic> then <result>;
Or for multiple statements:
if <logic> then do;
<results>;
end;
So in your code it should start:
if state=3 then do;
do i=1 to 4;
...;
end;
end;
As a tip for your questions:
- Post test data, in the form of a datastep in the post.
- Show what the output should look lke
- Explain any logic
A question, what are all those arrays for, are you sure they are all within bounds? I would guess that there are simpler methods to do this, but without information can't provide.
How do you know it's "not applied"? Show the unexpected results.
What is the ERROR/WARNING message?
What is this code in? It seems to me to be invalid SAS code. The if syntax is:
if <logic> then <result>;
Or for multiple statements:
if <logic> then do;
<results>;
end;
So in your code it should start:
if state=3 then do;
do i=1 to 4;
...;
end;
end;
As a tip for your questions:
- Post test data, in the form of a datastep in the post.
- Show what the output should look lke
- Explain any logic
A question, what are all those arrays for, are you sure they are all within bounds? I would guess that there are simpler methods to do this, but without information can't provide.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.