Hallo Zusammen,
ich habe zur Zeit ein (hoffentlich) kleines Problem:
Ich arbeite an einer automatisierten Datenauswertung die regelmäßig ausgeführt werden soll. In dieser Auswertung werden Spalten transponiert:
Kunde|Adresse
1 | X
1 | Y
1 | Z
Nach dem Transponieren schaut das ganze das dann so aus:
Kunde | Spalte1 | Spalte2 | Spalte3
1 | X | Y | Z
Jetzt habe ich das Problem das bei der nächsten Ausführung der Auswertung ein anderer Kunde nicht 3 sondern nur 2 Adressen besitzt. Dieser Unterschied führt zu einem Abbruch der Auswertung weil die Zwischentabelle mit 3 Adressen weiter arbeiten möchte.
Jetzt such ich eine Lösung die nach dem Transponieren eine neue Tabelle erstellt die 10 Spalten für die Adressen frei hält. Hat ein Kunde nur 2 Adressen werden nur Spalte1 und Spalte2 befüllt. Die restlichen 8 bleiben leer. Hat der nächste Kunde nun 8 Adressen werden alle befüllt bis auf die letzten 2.
Hättet ihr eine Lösung parat für das Problem.
Bau ein leeres Dataset mit allen Spalten, und häng das nach dem Transponieren vor:
data transposed_final;
set
empty
transposed
;
run;
Wobei es bei allen solchen Strukturen (mit variabler Zahl Ausprägungen) besser ist, das lange Dateiformat ohne Transposition beizubehalten. Dann regelt sich alles von selbst.
Vielen Dank für die Antwort. Hat mir weiter geholfen
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.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.