data m.kekuj ; set m.kekjo ; /*Adatok definiálása. Numerikusak és egy karakteres*/ length ora perc mperc 3. hajo $8; /* karakteres adat egy részének kimásolása és numerikussá alakítása */ ora=substr(Befut_si_id___________pp_ss_,1,2); perc=substr(Befut_si_id___________pp_ss_,4,2); mperc=substr(Befut_si_id___________pp_ss_,7,2); /*a futott idő újraszámítása függően attól, hogy az első, vagy a második napon érkezett be a hajó*/ if f1 lt 5 then futottido=(ora-9)*3600+perc*60+mperc ; else futottido=(ora+15)*3600+perc*60+mperc ; /*korrigált idő újraszámítása és az osztás eredményének kerekítése*/ korrido= round(futottido*100/YS,1) ; /*A hójók minősítése a beérkezésük szerint*/ if f1 lt 51 then hajo='gyors' ; else if f1 lt 100 then hajo="közepes" ; else hajo='lassú' ; run ; /* A hajók szétválasztása minősításük szerint három adatállományba*/ data m.gyors m.kozep m.lassu ; set m.kekuj; if hajo eq 'lassú ' then output m.lassu ; else if hajo eq 'közepes ' then output m.kozep ; else output m.gyors ; run ; /*Korrelációszámítás*/ proc corr data=m.kekuj ; var ys ora futottido ; run ;