Online File
Rick Aster: Professional SAS Programming Shortcuts: Contents
data work.eod (keep=date latestrate rename=(latestrate=rate) index=(date)); length date 4; retain previousdate latestrate; set work.changes; by effective; * Fill in dates between changes. ; if first.effective and effective > previousdate > .z then do date = previousdate + 1 to effective - 1; output; end; if last.effective then do; date = effective; latestrate = rate; output; previousdate = effective; end; run;