Hi,
Based on the data provided, I removed the by processing as each site was unique:
data want2;
set have;
array t[4] t1-t4;
array l[3] l1-l3;
l1 = sum(t[1],t[2]);
l2 = sum(l1,t[3]);
l3 = sum(l2,t[4]);
run;
Thanks & kind regards,
Amir.
Try this
data have;
input Site $ t1 - t4;
datalines;
B 1 4 5 3
C 1 2 3 3
D 2 1 5 1
E 1 4 5 3
;
data want(drop = i);
set have;
by Site;
array t[4] t1-t4;
array l[3] l1-l3;
l[1] = sum(t[1], t[2]);
do i = 2 to dim(l);
l[i] = sum(l[i-1], t[i+1]);
end;
run;
Result:
Site t1 t2 t3 t4 l1 l2 l3 B 1 4 5 3 5 10 13 C 1 2 3 3 3 6 9 D 2 1 5 1 3 8 9 E 1 4 5 3 5 10 13
Thank you very much. it works perfectly.
Hi,
Based on the data provided, I removed the by processing as each site was unique:
data want2;
set have;
array t[4] t1-t4;
array l[3] l1-l3;
l1 = sum(t[1],t[2]);
l2 = sum(l1,t[3]);
l3 = sum(l2,t[4]);
run;
Thanks & kind regards,
Amir.
@Amir , sure thing, I left it there since I took your own code as the base.
Glad you found your solution.
Hi @PeterClemmensen,
Thanks. My post was a reply to the OP, which is perhaps who you thought I was!
Thanks kind regards,
Amir.
Ah sorry. Missed that 😄
@Amir This works perfectly with my data.
Thank you!
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.