nochaml das alte problem mit der neuen spalte
Hallo nochmal :-)
Bisher hat das ganze super funktioniert mit dem erzeugen der neuen spalte (siehe http://www.redscope.org/node/524
musste nen neuen thread aufmachen, da ich sonst die datei nicht anhängen hätte können.
jetzt tritt das problem auf dass ich das ganze noch eine stufe weiter treiben muss und es aus irgendeinem grund nicht hinbekomme.
Sieht csv datei im anhang.
Die spalte EForm_cycle erzuege ich so ...
by Visit_Code SubjectID ;
run;
data lib_out.&studynam._&tabnam._BDE ;
set lib_out.&studynam._&tabnam._BDE;
by Visit_code SubjectID ;
retain temp_1;
if first.SubjectID then do;
n=1;
end;
if Question_Code=&v_rep. then do;
temp_1=response;
end;
if Question_Code=&v_rep. and not first.SubjectID and response ne lag(temp_1) then do;
n+1;
end;
EForm_cycle=n;
run;
geht wunderbar. das klappt so wie ichs will. jetzt wollte bzw muss ich noch eine weitere zeile einfügen "question_rep"
die soll ähnlich wie die "eform_cycle" erstellen werden, jedoch von einem anderen inhalt der variable response abhängig.
Versucht hab ich das ganze so:
by EForm_cycle Visit_Code SubjectID;
run;
data lib_out.&studynam._&tabnam._BDE ;
set lib_out.&studynam._&tabnam._BDE;
by EForm_cycle Visit_Code SubjectID;
retain temp_2;
if first.SubjectID then do;
m=0;
end;
if Question_Code=&q_rep. then do;
temp_2=response;
end;
if Question_Code=&q_rep. and not first.SubjectID
and not first.Visit_Code
and not first.EForm_cycle
and response ne lag(temp_2) then do;
m+1;
end;
if _n_=1 then Question_rep = 1;
Question_rep = m;
run;
also ganz ähnlich wie oben, es scheint auch zu funktionieren zum teil, nur stimmt die nummerierung nicht ganz. ich brüt jetzt schon seit ner weile über der datei und kanns nicht lösen... dann frag ich doch besser nochmal hier nach. vielleicht sehich den wald vor lauter bäumen wieder nicht :)
die spalte qestion_rep soll anhänhig von SubjectID Visit_code und EForm_cycle durchnummeriert werden (wobei Visit_code hier keine rolle spielt um grunde). und dabei immer sobald sich in der response spalte in den zeilen wo time1 als question_code steht , um eins hochgezählt werden. Wenn ich m mit 0 starten lass passts nicht, und mit eins ander auch nicht. im einen fall starten manche mit 0 was ja nicht sein soll und im anderen beginnen einige bei 2... ich bin sehr verwirrt. irgendwo in den daten da muss da ne falle sein die ich mir gestellt hab ;)
und mir ist viel zu heiss hier ;) ich geh mal heim...
gruß
nico
