Good day,
I currently have a dataset that has transaction information for dispute cases. Each one of these transactions can have multiple actions take place. Only a certain type of action will show the transaction id. I am looking for a way to copy that transaction ID to each action within a case. Using the sample data below I need it to do the following:
Look for each trns_nbr, then for every matching Acnt_nbr, dispute_nbr, and act_seq that is the same it should fill in the trns_nbr.
so below should fill in 9876 in the 2nd and 3rd row and then fill in 5678 on the 5th and 6th row. The table will have a couple thousands lines to look through.
acnt_nbr dispute_nbr act_seq act_name trns_nbr
12345 abcd 1 XY 9876
12345 abcd 1 YZ
12345 abcd 1 CV
12345 abcd 2 XY 5678
12345 abcd 2 YZ
12345 abcd 2 CV
Good day, @Sotarkadin,
Try this:
data have;
input acnt_nbr dispute_nbr $ act_seq act_name $ trns_nbr;
cards;
12345 abcd 1 XY 9876
12345 abcd 1 YZ .
12345 abcd 1 CV .
12345 abcd 2 XY 5678
12345 abcd 2 YZ .
12345 abcd 2 CV .
;
data want;
do until(last.act_seq);
set have;
by acnt_nbr dispute_nbr act_seq notsorted;
if ~missing(trns_nbr) then tn=trns_nbr;
end;
do until(last.act_seq);
set have;
by acnt_nbr dispute_nbr act_seq notsorted;
if missing(trns_nbr) then trns_nbr=tn;
output;
end;
drop tn;
run;
Edit: This assumes that your input dataset is at least grouped by the three BY variables, i.e., groups of identical combinations of their values form contiguous blocks of observations.
Good day, @Sotarkadin,
Try this:
data have;
input acnt_nbr dispute_nbr $ act_seq act_name $ trns_nbr;
cards;
12345 abcd 1 XY 9876
12345 abcd 1 YZ .
12345 abcd 1 CV .
12345 abcd 2 XY 5678
12345 abcd 2 YZ .
12345 abcd 2 CV .
;
data want;
do until(last.act_seq);
set have;
by acnt_nbr dispute_nbr act_seq notsorted;
if ~missing(trns_nbr) then tn=trns_nbr;
end;
do until(last.act_seq);
set have;
by acnt_nbr dispute_nbr act_seq notsorted;
if missing(trns_nbr) then trns_nbr=tn;
output;
end;
drop tn;
run;
Edit: This assumes that your input dataset is at least grouped by the three BY variables, i.e., groups of identical combinations of their values form contiguous blocks of observations.
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.