2016-12-15 10 views
1

SPSSモデラーでフィールドの値が整数リストの中にある場合(例:MCC = 3001 || 3002 || 30004の場合)を比較しようとしています。しかし、可能な値のリストは非常に長いです。誰かが私に、 'Or'/'||'を使わずに単一の値を比較するためにリストを渡す方法を教えてもらえますか?複数の項目を比較する

+0

[stats.se]でこれを確認する方がよいかもしれません。 –

答えて

1

これは、あなたが探しているものです:MCCはそれの後にリストされた値のいずれかが含まれている場合

If any(MCC, 3001, 3002, value3, value4, value5 ....) 

条件が満たされています。

1

値は単に連続した範囲であれば、あなたはRANGEを使用することができます。

COMPUTE MCC_List=RANGE(MCC, 3001, 3004)=1. 

、あなたはRANGEANYの組み合わせを使用することができます排除する必要が離散値の数が少ない場合には、そのよう:

COMPUTE MCC_List=RANGE(MCC, 3001, 3004)=1 and ANY(MCC,3003,3005)=0. 

自分の価値観は、その後、これを達成するための別の方法ややランダムと離散している場合は、ルックアップテーブルとして格納された値を持っており、これらの値に一致させることです。

以下、これらの値を手動でデータセットに入力しますが、通常、これらをテキスト/ csvファイルまたはExcelファイルに保存してから、そのファイルを読み込みます。

このような定義は、多くの変数を持っている場合に特に適しています。構文にハードコードすることなく、これらの値をすべて含む別々のファイルを保存することができます。これらのファイルは、プログラムによって読み込まれ、必要に応じて更新されます。

(この技術は、大規模なデータセットを処理する場合は処理が遅くてSORT CASESが。したがって、この種の技術は、より一般的にあなたがSORTを必要としないSPSSs STAR JOINを使用することができます。SQLで使用されているが、私は」必要としていますがその命令の大ファンではない)。

DATA LIST LIST /ID MCC. 
BEGIN DATA 
1 4 
2 5 
3 1 
4 6 
5 7 
END DATA. 
DATASET NAME DS1. 
SORT CASES BY MCC. 

DATA LIST LIST /MCC_LIST MCC. 
BEGIN DATA 
1 1 
1 2 
1 3 
1 4 
1 5 
END DATA. 
DATASET NAME DS2. 
SORT CASES BY MCC. 

DATASET ACTIVATE DS1. 
MATCH FILES FILE=* /TABLE=DS2 /BY MCC. 
EXE. 
0

質問はモデラーではなく、統計について尋ねた:

は、ここでは簡単のデモです。

関連する問題