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!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.