Wietze314
Wietze314

Reputation: 6020

SPSS merge datasets with add variables only links 1 case

I have the following syntax to merge two datasets. I expect that the resulting dataset (test1) contains 5 cases with 4 of them (2 to 5) a value in variable set2.

The result I am getting is dataset test1 with 5 cases but only 1 of them (case with id 5) has a value in variable set2.

Do I need to contact my ICT department, or am I misunderstanding something about merging data in SPSS. I am used to working with SAS, R and SQL, but need to help someone with a data merging within SPSS

 INPUT PROGRAM.
LOOP id=1 to 5.
END CASE.
END LOOP.
END FILE.
END INPUT PROGRAM.
COMPUTE set1 = RV.NORMAL(1,1).
EXECUTE.
DATASET NAME test1.
INPUT PROGRAM.
LOOP id=2 to 5.
END CASE.
END LOOP.
END FILE.
END INPUT PROGRAM.
COMPUTE set2 = RV.NORMAL(1,1).
EXECUTE.
DATASET NAME test2.

DATASET ACTIVATE test1. 
STAR JOIN 
  /SELECT t0.set1, t1.set2 
  /FROM * AS t0 
  /JOIN 'test2' AS t1 
    ON t0.id=t1.id 
  /OUTFILE FILE=*.

results in:

id      set1    set2
1,00    1,74    
2,00    1,58    
3,00    1,01    
4,00    ,12 
5,00    2,52    ,79

SPSS version 21

Upvotes: 3

Views: 469

Answers (1)

Jignesh Sutar
Jignesh Sutar

Reputation: 2929

When I run the syntax you provide I get the desired results (and not what you indicate):

enter image description here

If it continues to fail (after contacting SPSS support), try using MATCH FILES:

DATASET ACTIVATE test1. 
SORT CASES BY ID.
DATASET ACTIVATE test2. 
SORT CASES BY ID.

MATCH FILES FILE=test1 /FILE=test2 /BY ID.
DATASET NAME Restult.

Upvotes: 1

Related Questions