Gleiche Datensätze mit First aufzähen
Hallo,
ich habe folgendes Problem:
ich muss die doppelten Datensäzte so aufbereiten, dass diese so aussehen:
musterman max str1 ort1 1
musterman max str1 ort1 2
musterman may str1 ort1 1
musterman may str1 ort1 2
ich bekomme aber allerdings nur das:
musterman max str1 ort1 1
musterman max str1 ort1 2
musterman may str1 ort1 3
musterman may str1 ort1 4
mein vorgehen:
Test DS:
data test1;
var1='mustermann';
var2='max';
var3='str1';
var4='ort1';output;
var1='mustermann';
var2='max';
var3='str1';
var4='ort1';output;
var1='mustermann';
var2='may';
var3='str1';
var4='ort1';output;
var1='mustermann';
var2='may';
var3='str1';
var4='ort1';output;
run;
sotriere nach var1-4
proc sort data=test1;
by var1 var2 var3 var4;
run;
suche die gleichen Datensätze:
data test1;
set test1;
by var1 var2 var3 var4;
if (first.var1 and
first.var2 and
first.var3 and
first.var4)then do;
i = 0;
end;
i +1;
run;
was mach ich falsch?
Danke im Voraus viele Grüsse
Stella
- Anmelden oder Registrieren um Kommentare zu schreiben

FIRST-Variable
Hallo,
um den den gewünschten Effekt zu erzielen, genügt es auf first.var4 abzufragen, ohne jedoch das by-Statment zu ändern.
set test1;
by var1 var2 var3 var4;
if first.var4 then do;
i = 0;
end;
i +1;
run;
Viel Spass noch
Lutz Ritter
Vielen Dank für die schnelle
Vielen Dank für die schnelle Antwort,
ich habe vielleicht dumme Frage aber:
heisst das also das
bei mehrere by variablen mit First.(x) ich die Andeutigkeit bestimme was gleich bis inkl. dieser First.(x) Variable sein muss? unabhängig ob weitere varialben nach (x)folgen.
z.B.: wie eben + var5:
proc sort data=test1;
by var1 var2 var3 var4 var5;
run;
data test1;
set test1;
by var1 var2 var3 var4 var5;
if first.var4 then do;
i=0;
end;
i+1;
run;
viele Grüsse
Stella
PS: ich habs ausprobiert und es geht, aber trozdem hätte ich gerne eine Bestätigung das es so ist und nicht das sowas nur Zufall ist
Hallo Stella, nein, das ist
Hallo Stella,
nein, das ist kein Zufall.
Schöne Grüße
Jan
Hallo zusammen, vielen
Hallo zusammen,
vielen Dank,
nun habe ich wieder was gelernt,
gibt es eine gute seite wo solche Feinheiten zumindest angedeutet sind?
vielen Dank nochmal
viele Grüsse
Stella
Andeutungen und sogar noch mehr
Hallo,
es gibt sogar mehr als nur Andeutungen!
In der gedruckten Dokumentation:
SAS Language Guide, Chapter 4 Rules of the SAS Language, BY-Group Processing, Page 134,135,136
oder die Online-Variante:
http://support.sas.com/onlinedoc/913/docMainpage.jsp
Dort folgende Punkte durchklicken
Base SAS
-> SAS Language Reference: Concepts
-> DATA Step Concepts
-> BY-Group Processing in the DATA Step
-> How the DATA Step Identifies BY Groups
Gruß
Hans Kneilmann, Schäfer Shop GmbH (SSI)