Here is how my sample data looks like
ID$ Tst$ test_rt number
1 dp 20 1
1 rp 0 1
1 dp 35 2
1 rp 20 2
1 dp 0 3
1 rp 20 3
I would like to have an algorithm setup for calculating the difference between dp at number 1 and rp at value at next number?? Did any one encounter such situations, If so how to tackle that?? Please suggest, Thanks in advance
Please try
data have;
input ID$ Tst$ test_rt number;
cards;
1 dp 20 1
1 rp 0 1
1 dp 35 2
1 rp 20 2
1 dp 0 3
1 rp 20 3
;
data want;
set have;
by number notsorted;
retain new_number;
if first.number then new_number=test_rt;
if last.number then dif=test_rt -new_number;
run;
By
"difference between dp at number 1 and rp at value at next number".
I think you want the rp test value minus the dp test value for each number. If so, then:
data want;
merge have (where=(tst='dp') rename=test_rt=dp_test)
have (where=(tst='rp') rename=test_rt=rp_test);
by number;
rp_minus_dp=rp_test-dp_test;
drop tst ;
if last.number;
run;
If that's not what you mean, please show what the results would look like for the data you provided.
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 lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.