Uzupełnienie braków w ciągłości, kumulacja

Thursday, May 28th, 2009 | Uncategorized

data baza;
input dzien kumulacja;
cards;
1 1
2 3
8 4
10 8
15 9
22 15
27 18
30 20
;run;

data temp;
 set baza;
 output;
 ile_brakuje = max(((lag(dzien)-dzien)+1)*-1,0);
  do x = 1 to ile_brakuje;
   nowy_dzien = dzien - x;
  drop ile_brakuje x;
   output;
  end;
run;

data nowa_baza;
set temp;
dzien = coalesce(nowy_dzien,dzien);
keep  kumulacja dzien;
run;

proc sort data= nowa_baza;
by dzien;
run;

1 Comment to Uzupełnienie braków w ciągłości, kumulacja

Jasioo
December 28, 2009

+Ciągłość w grupach
+Dopisz brakujące dni od dnia 0

proc sort data = lifetest1;
by id_prod dl_zycia;
run;
data temp;
set lifetest1;
by id_prod;
output;
if not first.id_prod then do;
ile_brakuje = max(((lag(dl_zycia)-dl_zycia)+1)*-1,0);
do x = 1 to ile_brakuje;
nowy_dl_zycia = dl_zycia - x;
drop ile_brakuje x;
output;
end;
end;
if first.id_prod then do;
do y = 0 to dl_zycia -1;
nowy_dl_zycia = y;
SURVIVAL = 1;
SDF_LCL = 0;
SDF_UCL = 0;
drop y;
output;
end;
end;
run;

Leave a comment

Search