0

ある spss ファイルの変数を別のファイルに追加しようとすると、エラーが発生し続けます。ファイル 1 には 1.800.000 件のケース [支払い] があり、ファイル 2 には 800.000 件のケース [受取人] があります。どちらにも、ケースを照合するための ID 番号があります。

ファイル 1 のすべての支払いに対して、ファイル 2 から受信者を追加したいと考えています。したがって、受信者は複数の支払いに一致する必要があります。

これは私が試した2つのコードですが、うまくいきません:

INを使用したコード

      DATASET ACTIVATE DataSet1. 
      SORT CASES BY recipientid(A).
      DATASET ACTIVATE DataSet2. 
      SORT CASES BY recipientid(A).

      Match Files /File=DataSet1
      /In=DataSet2
      /BY globalrecipientid.
      execute

/In を使用してもエラーは発生しませんが、ファイルが sin と適切に一致せず、変数が追加されません。

TABLE を使用したコード

      DATASET ACTIVATE DataSet1. 
      SORT CASES BY recipientid(A).
      DATASET ACTIVATE DataSet2. 
      SORT CASES BY recipientid(A).

      Match Files /File=DataSet1
      /TABLE=DataSet2
      /BY globalrecipientid.
      execute

/TABLE を使用すると、次のエラーが発生します。

警告 # 5132 未定義のエラー #5132 - テキスト ファイル 'S:\Progra~1\spss\IBM\SPSS\STATIS~1\20\lang\en\spss.err" を開けません: そのようなファイルまたはディレクトリはありません

私はトリックを使い果たしました.Rubyでこれを試す勇気はありません.悲しいことに、Excelは小さすぎてこれを処理できません..何か考えはありますか?

4

2 に答える 2

1

サブコマンドを間違って使用しているため、最初の解決策は wring ですIN。つまり、Dataset1 と何も一致していません。

IN は、結果のファイルに新しい変数を作成します。この変数は、前の FILE サブコマンドで指定された入力ファイルからケースが発生したかどうかを示します。

あなたの2番目の解決策。データセットを変数で並べ替えていますrecipientidが、これmatch filesは variable によって行われますglobalrecipientid。ある変数でソートし、別の変数で照合するのはなぜですか? これは問題になる可能性があります。また、データセット名は引用符で囲む必要があります。

解決策 1:

DATASET ACTIVATE DataSet1. 
SORT CASES BY recipientid (A).

DATASET ACTIVATE DataSet2. 
SORT CASES BY recipientid (A).

Match Files
 /File = "DataSet1"
 /TABLE = "DataSet2" 
 /BY recipientid.

execute.

解決策 2. SPSS でのデータセットの実装が好きではありませんでした。私は彼らを信用していませんでした。他の解決策は、データセットをファイルとして保存し、ファイルの照合を行うことです。

get "file1.sav".
SORT CASES BY recipientid (A).
save out "file1s.sav".

get "file2.sav".
SORT CASES BY recipientid (A).
save out "file2s.sav".

Match Files
 /File = "file1s.sav"
 /TABLE = "file2s.sav"
 /BY recipientid.

execute.
于 2013-03-14T16:00:05.533 に答える
0

私の構文は多少異なります:

DATASET ACTIVATE DatenSet1. 一致ファイル /FILE=* /FILE='DatenSet2' /RENAME VarsToRename /BY ID /DROP= Vars EXECUTE.

多分これは役立ちますか?

于 2013-03-14T14:02:00.513 に答える