Dateien zusammenfügen (merge/join)

Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Antworten
alexthegreat
Beiträge: 10
Registriert: 11.10.2012, 11:09

Dateien zusammenfügen (merge/join)

Beitrag von alexthegreat »

Hallo ich würde gerne zwei SPSS zusammenfügen folgenden Code habe ich dafür verwendet leider ohne Erfolg.

GET FILE='D:/data/mydata.sav'.
DATASET NAME file1.
SORT CASES BY ID.
GET FILE 'D:/data/moredata.sav'
SORT CASES BY ID.
DATASET NAME file2.
MATCH FILES
/FILE=file1
/FILE=file2
/BY ID.
SAVE OUTFILE='D:/data/mergedata.sav'.

-----

Als nächstes habe ich es mit get data versucht aber dies funktioniert auch nicht. Wie kann man den SQL Join auf SPSS-Daten anwenden. Muß ich die SPSS-DAten dazu erst in Excel oder Access konvertieren?

Vielen Dank für ein paar Tipps...

get data
/type=odbc
/connect= 'DSN=SPSS;'
'DBQ=D:/data/mydata.sav;D:/data/moredata.sav;'

/sql ='select *'
'FROM mydata AS t1'
'LEFT JOIN moredata AS t2'
'ON t1.Id t2.ID'.
Execute.
SAVE OUTFILE='D:/data/mergedata.sav'.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

ID muss in beiden Datensätzen von gleichem Format und gleicher Länge sein.

Die erste Variante wäre die richtige. Notfalls den gesamten Ablauf mit der Maus einmal durchführen (oder partiell) und dann die Syntax per EINFÜGEN abspeichern und laufen lassen.
drfg2008
alexthegreat
Beiträge: 10
Registriert: 11.10.2012, 11:09

Beitrag von alexthegreat »

Danke,

das Zusammenfügen mache ich in R. In SPSS bekomme ich es nicht hin. Es ist anscheinend nur "Full Join" möglich...
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Nein, mit SPSS ist nicht nur full join möglich.

Dein Code enthält einen Fehler. Du musst bei zwei Datensätzen einen dieser Datensätze auswählen, in den die anderen integriert werden sollen. Du hast keinen ausgewählt.

Hier ein Beispiel, wobei der Datensatz DatenSet5 bereits ausgewählt ist.

Code: Alles auswählen

MATCH FILES /FILE=*
  /FILE='DatenSet6'
  /BY a.
EXECUTE.

Deine Variante müsste dann etwa so aussehen (ungeprüft)

GET FILE='D:/data/mydata.sav'.
DATASET NAME file1.
SORT CASES BY ID.

GET FILE 'D:/data/moredata.sav'
SORT CASES BY ID.
DATASET NAME file2.

MATCH FILES /FILE=*
/FILE=file1
/BY ID.
SAVE OUTFILE='D:/data/mergedata.sav'.
drfg2008
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten