* Ранжирование по проценту "успешных" значений.
* Автор: rlevesque@videotron.ca.
** Этот раздел создаёт пример данных для иллюстрации работы.
DATA LIST FREE /person.
BEGIN DATA.
1 3 2 4 5
END DATA.
SET SEED=135792468.
LOOP subj=1 TO 15.
COMPUTE rating=TRUNC(UNIFORM(1)*3).
XSAVE OUTFILE='c:\\temp\\data.sav' /KEEP person subj rating.
END LOOP.
EXECUTE.
GET FILE='c:\\temp\\data.sav'.
** Начало решения.
AGGREGATE
/OUTFILE=*
/BREAK=person rating
/N_BREAK=N.
AGGREGATE
/OUTFILE='c:\\temp\\temp.sav'
/BREAK=person
/nb=SUM(n_break).
SORT CASES BY person.
MATCH FILES /FILE=*
/TABLE='c:\\temp\\temp.sav'
/BY person.
* В следующей строке замените двойку на значение, означающее "успех".
SELECT IF (rating=2).
COMPUTE pcgood=n_break/nb.
RANK
VARIABLES=pcgood (A) /RANK /PRINT=YES
/TIES=CONDENSE.