Hallo!
Mal wieder ein Problem mit dem Data Integration Studio.
Ich habe eine Tabelle mit Kunden. Einige sind mehrmals vertreten, andere nur einmal. Ich möchte jetzt jeweils nur einen Datensatz für einen Kunden haben. Gibt es da eine Möglichkeit?
Danke für die Hilfe!
Hallo,
die Frage ist zunächst, welche Informationen zu Deinen doppelten Kunden Du behalten möchtest.
Anscheinend sind die Ausprägungen im Feld "Risikomerkmal" unterschiedlich.
Wenn die Regel formuliert ist (z.B. immer den größten Wert pro Kunde behalten), dann kann man sich über die Umsetzung Gedanken machen.
Gruß
Johannes
Das war wohl etwas undeutlich formuliert
Zum Schluss soll für jede Kundennummer ein Datensatz mit allen Risikomerkmalen herauskommen, diese dann in verschiedenen Spalten.
Hallo Fay123,
ich habe mir folgende Testdaten erzeugt:
data Kunden;
input KUNDE RISIKO;
Anzahl=1; /* Nur für Variante 2 benötigt */
cards;
1 1
1 2
1 3
2 1
3 2
3 3
;;;;
run;
Ich würde die Anfoderung mit PROC TRANSPOSE bzw. der Anwendungsroutine Transponieren umsetzen.
Variante 1 erzeugt eine Tabelle mit N Spalten, in der je Kunde die jeweiligen Risikomerkmale nacheinander enthalten sind.
PROC TRANSPOSE DATA=WORK.KUNDEN
OUT=WORK.VARIANTE1 (drop=Quelle)
PREFIX=Risiko
NAME=Quelle
LABEL=Etikett
;
BY KUNDE;
VAR RISIKO;
RUN;
Variante 2 erzeugt eine Spalte je vorkommendem Risikomerkmal, also zum Beispiel Risiko_3 für Risikomerkmal 3. Sie ist dann (in meinem Beispiel) bei allen Kunden mit 1 belegt, bei denen das Risikomerkmal vorkommt.
PROC TRANSPOSE DATA=WORK.KUNDEN
OUT=WORK.VARIANTE2 (drop=Quelle)
PREFIX=Risiko_
NAME=Quelle
LABEL=Etikett
;
BY KUNDE;
ID RISIKO;
VAR Anzahl;
RUN;
Viel Erfolg!
Im Anhang eine schnell gebastelte Lösung über einen dynamischen Array.
Prinzip:
Mit den Testdaten hat es so zumindest funktioniert. 🙂
Vielen Dank an alle für die Hilfe
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.