AutoWert erstellen

Hallo,

ich brauche mal wieder eure Hilfe. Ich suche in SAS etwas äquivalentes für den Access Ausdruck "AutoWert", d.h. erst wenn man in einer Zeile mit der Dateneingabe beginnt, wird in dem Feld mit AutoWert eine fortlaufende Zahl eingetragen.

Ich habe eine Ausgangstabelle (2 Spalten):

Tabelle1:
Name Volumen
Franz 50
Hans 88
Franz 30
... ...

Diesen Namen sollen in einer 2. Tabelle (=Codierungstabelle) eine Nummer zugeordnet werden. Und immer wenn ein neuer - bisher noch nicht vorhandener - Name dazukommt, soll automatisch eine neue fortlaufende Nummer für diesen Namen erzeugt werden. Diese sollte dann also wie folgt aussehen:

Tabelle2 (=Codierungstabelle mit 2 Spalten):
Name Fortlaufende Nummer
Franz 1
Hans 2
... [AutoWert]

Kommen nun neue Daten in Tabelle1 hinzu mit den Namen Franz und Bert, so hat Franz ja schon den Wert 1, aber Bert soll in der Codierungstabelle neu angelegt werden und die Nummer 3 bekommen.

In Access hatte ich dieses Problem mit "AutoWert" gelöst. Da ich nun alles auf SAS bringen möchte, bräuchte ich an dieser Stelle eure Hilfe. Ich hoffe, dass ihr mir auch diesmal weiterhelfen könnt.

Vielen Dank schonmal im Voraus & Schöne Grüße
Zura

Lösung mit PROC SORT

Hallo Zura;

eine Möglichkeit das Problem zu lösen ist folgende:

data test;
input name $ volumen;
n=_N_;
cards;
Franz 50
Hans 88
Franz 30
Bert 20
;
run;

proc sort data=test out=test2 nodupkey equals;
by name;
run;

proc sort data=test2;
by n;
run;

data test2(keep=name nummer);
set test2;
nummer=_N_;
run;

Viele Grüße, Maria

Perfekt

Vielen Dank. Genau so wie ich es wollte :-)

Schöne Grüße, Zura

autoinkrement

Oder so:

data test;
retain auto 0;
set daten;
auto + 1;
run;