I have totalled a column of numbers
ID amt difference
11 -250 125
11 125 125 /*only want to show this number*/
12 -250 -250
proc sql;
create table test as
select id, sum(
case when reg_num = 'w' then amt
when reg_num = 'y' then amt
else 0 end)as difference
from main
group by ln_no;
quit;
In the case of ID 11, I want to show the 125 difference in the second instance of the same ID. So I want to show ID on row 2 and leave row 1 blank. In the case of ID 12 I want to show the difference because it is the first and only instance.
data step is much easier:
data have;
input ID amt difference;
cards;
11 -250 125
11 125 125
12 -250 -250
;
data want;
set have;
by id;
if not last.id then difference=.;
proc print;run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.