いずれかの変数に欠損値がある場合、それらを単純に追加すると、欠損値も発生します。欠損値を代入したくない場合は、構文で MEAN コマンドを使用するとうまくいきます。また、変数がデータ ファイル内で連続している場合は、TO 修飾子を使用して構文をより読みやすくすることができます。
COMPUTE myscore=MEAN(variable1 TO variable5)*5.
結果の値は、効率的な期待値を提供します。
ただし、この場合の問題は、データ入力プロセスがすべての項目をダミーコード化し、5 ではなく 20 の個別の変数を生成することです。4 つの変数の各ブロックは 0 または 1 の値を持ちますが、値は 1 を表しますこの場合、次の構文を使用できます。
COMPUTE mycounter=1.
COMPUTE myscore=0.
EXECUTE.
DO REPEAT a=variable1 TO variable20.
COMPUTE myscore=myscore+mycounter*a.
COMPUTE mycounter=mycounter+1.
IF (mycounter=5) mycounter=1.
END REPEAT.
EXECUTE.
variable1 から variable20 までの変数には、元の項目のダミー コードの各セットが昇順でまとめられている必要があることに注意してください。