トリックは変数 "スコア"を行として変換することです。 SAVE/GETを避ける方法を簡単に考えることができませんでした。改善の余地があります。
file handle tmp
/name = "C:\DATA\Temp".
***.
data list free /Test (a1) Day1 (f8) Day2 (f8) Score (f8).
begin data
A 1 2 100
B 1 3 62
C 3 4 90
D 2 4 20
E 4 5 80
end data.
comp f = 1.
var wid all (12).
save out "tmp\data.sav".
***.
get "tmp\data.sav"
/keep score.
flip.
comp f = 1.
match files
/file "tmp\data.sav"
/table *
/by f
/drop case_lbl.
comp stat = 0.
do rep var = var001 to var005
/k = 1 to 5.
if range(k, Day1, Day2) stat = sum(stat, var).
end rep.
list Test Day1 Day2 Score stat.
結果:私はそれが私がフリップを削除すると、それが表示されます、シンタックスエディタでの表示にリストを作成しません、これを実行しようとすると
Test Day1 Day2 Score stat
A 1 2 100 162
B 1 3 62 252
C 3 4 90 110
D 2 4 20 172
E 4 5 80 100
Number of cases read: 5 Number of cases listed: 5
はしかし、何らかの理由で、どうもありがとうございましたしかしそれはまだstatですべての0を持っていますか? – user1026987
"list"コマンドはここではオプションです。あなたのデータを見て、結果を確認してください。ここでは "flip"コマンドが必須です。このコードは「フリップ」なしでは機能しません。 – djhurio