Beim zweiten File würde ich genauso aus dem csv und nicht aus dem xlsx lesen. Excel-Files sind notorisch beschissen, was unvermutete Formate etc betrifft.
Mein Programmvorschlag fürs Einlesen:
data performance;
infile '$HOME/sascommunity/Performance_RawData.csv' dlm=';' dsd firstobs=2;
input
ID : BEST12.
TestType : $CHAR1.
Conform : BEST12.
FurScore : BEST12.
HeightW : BEST12.
ChestCir : BEST12.
BoltFox : BEST12.
Passion : BEST12.
SoundUG : BEST12.
SearchUG : BEST12.
NoseApt : BEST12.
TrackRel : BEST12.
TrackVoli : BEST12.
SoundTr : BEST12.
SoundSi : BEST12.
WaterAf : BEST12.
Obedience : BEST12.
Gun_Shy : BEST12.
TotalP : BEST12.
Price : BEST12.
TestDate : DDMMYY10.
Location : $CHAR19.
;
format TestDate ddmmyyp10.;
run;
data verwandtschaft;
infile '$HOME/sascommunity/Verwandschaft_RawData.csv' dlm=';' dsd;
input ID_c :$20. ID_V_c :$20. ID_M_c :$20. gebdat : ddmmyy10.;
format gebdat ddmmyyp10.;
run;
Das produziert bei der Verwandtschaft 5 NOTEs wegen unbrauchbarer Datumswerte.
Dann habe ich mir die ID in der Verwandschaftstabelle angesehen. Außer den rein numerischen ist da nichts für eine Verknüpfung zu den Performancedaten brauchbar. Die Nummern in den gemischten Feldern sind entweder zu groß oder zu klein für den Wertebereich der ID aus der Performance (mit ein paar Ausnahmen, die vielleicht passen könnten).
Ich würde daher alle nichtnumerischen vorläufig ausfiltern, die verbleibenden IDs auf numerisch konvertieren und dann mal einen Testjoin machen, um zu sehen, was dabei rauskommt.
... View more