* Ранжирование по проценту "успешных" значений.
* Автор: 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.