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