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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.