Ich habe zwei Datensätze, einen aus .xlsx und einen aus .csv importiert. Ich scannte, trimmte, up-case und all diese Sachen, um die zwei Datensätze zu bereinigen. Ich probierte sowohl proc sql und Datenschritt, um die zwei durch eine Zeichenvariable zusammenzuführen. SAS kann keine Übereinstimmung finden. Wenn ich jedoch die beiden Datensätze zurück nach .xlsx exportiere, kopiere und füge ich die Zeichenspalte aus den beiden Mengen nebeneinander ein. Natürlich gibt es viele Übereinstimmungen, und Excel erkennt auch, dass sie identisch sind (verwende if-Anweisung, um sie zu überprüfen).SAS ist nicht in der Lage, zwei Datensätze durch übereinstimmende Zeichenvariablen zusammenzuführen
Was geht hier vor?
Danke!
Sehr wahrscheinlich unsichtbare Zeichen irgendeiner Art, fügen Sie ein paar Ihrer übereinstimmenden Werte in das Protokoll ein, um zu sehen, ob sie sich unterscheiden. Oder Ihr Code ist falsch - da wir ihn nicht sehen können, können wir nur raten. In diesen Fällen müssen Sie in der Lage sein, Beispieldaten zu posten - die Ausgabe der Ergebnisse aus der Put-Anweisung mit einem Hex-Format ist zumindest ein guter Anfang. Im Moment haben wir nicht viel zu tun. – Reeza
Sie sind direkt auf @Reeza! Das Hex-Format zeigt, dass sie unterschiedlich sind. Zum Beispiel eine 4269726D696E6768616D2020202020 und eine andere ist 204269726D696E6768616D20202020, aber beide zeigt "Birmingham" ... Okay, ich überprüfe die ASCII-Codetabelle, 20 entspricht dem Raum. Aber ich habe trim() verwendet ... Danke! – user5309995
Sieht so aus, als hätten Sie einen führenden Platz im Wert. Haben Sie die COMPRESS() Funktion ausprobiert? Sieh dir die Modifikatoren an und wähle diejenige aus, die nicht druckbare Zeichen entfernt. Ich kann mich nicht mehr an meinen Kopf erinnern. – Reeza