0

マクロ プログラムを使用して、上位 10 パーセントの GPA の TotalGPA で並べ替えられたレコードを作成しようとしています。これは、60 単位時間以上で 130 単位時間未満の 24 の最高 GPA であることが判明しました。ここに私のコードがあります

%MACRO TopTen(outputtable, less, more);
PROC SQL;
select round(count(ID)/10) into :Data from OverallGPA;
quit;

%PUT &Data;

PROC SQL outobs=&Data.;
    Create table &outputtable. as select * 
    from OverallGPA,OverallCreditHoursEarned
    where &less.<OverallCreditHoursEarned<&more.
    order by ID
;
quit;

%MEND;

%TopTen(Report3, 60, 130);
/* creates report of number of values in top ten percent */
PROC REPORT data=Report3;
run;

この Proc Report は現在、同じ ID、TotalGPA の列を出力していますが、OverallCreditHoursEarned は異なります。これを機能させるためのアイデアはありますか?Proc Rank を使用しましたが、マクロでは機能しないと思います。Proc ランク コードは以下のとおりです。

   PROC RANK data=OverallGPA out=Report3Alt(where=(TopTenPercent<=24)) 
   descending ties=Low;
   var TotalGPA;
   ranks TopTenPercent;
   run;
4

1 に答える 1