LesezeichenAbonnierenRSS-Feed abonnieren
Fay123
Obsidian | Level 7

Mal wieder eine Dummy Frage aus dem DI Studio.

 

Ich habe für ein und dasselbe Datum umd dieselbe Kundennummer unter Umständen mehrere Datensätze, die sich geringfügig im Namen unterscheiden. Für eine Auswertung will ich nur jeweils einen Namenseintrag mitnehmen. Gibt es hier irgendeine Funktion?

 

Danke vorab für die Hilfe!

5 ANTWORTEN 5
AndreasMenrath
Pyrite | Level 9

Also wenn es egal ist welche der Datensätze erhalten bleibt, würde ich eine einfach SORT Transformation verwenden.

Unter "SORT BY Spalten" Datum und Kundennummer auswählen und im Tab "Optionen" bei "SAS Sort"-->"Doppelte Datensätze entfernen" die Option "Zeilen mit doppelten Schlüsseln entfernen (NODUPKEY)" auswählen.

Kurt_Bremser
Super User

Ohne DI Studio würde das so aussehen:

proc sort data=have ;
by datum kunr;
run;

data names;
set have (keep=datum kunr name);
by datum kunr;
if first.kunr;
run;

data want;
merge
  have (drop=name)
  names
;
by datum kunr;
run;
AndreasMenrath
Pyrite | Level 9
Warum so umständlich und nicht einfach

proc sort data=have out=want NODUPKEY;
by datum kunr;
run;
Kurt_Bremser
Super User

AndreasMenrath schrieb:
Warum so umständlich und nicht einfach

proc sort data=have out=want NODUPKEY;
by datum kunr;
run;

Wenn in den Datensätzen noch andere Daten ausser dem Namen vorhanden sind, würden diese verlorengehen.

Fay123
Obsidian | Level 7

Vielen lieben Dank für die Unterstützung!! Das scheint funktioniert zu haben. Wenn ich jetzt noch meinen Table loader dazu bringen kann seinen Job zu machen, ist der Tag gerettet 😉

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

Diskussionsstatistiken
  • 5 Antworten
  • 1334 Aufrufe
  • 3 Kudos
  • 3 in Unterhaltung