1

PROC REPORT2つのレベルのグループ化でレポートを生成するコードがいくつかありますが、RBREAK常にすべてを要約するだけです。たとえば、次のようなものがあります。

    行1:100200300より前のタイプA  
    行2:400500600後   
    行3:100200300より前のタイプB  
    行4:400500600後  
    行5:合計700800900

PROC REPORTその第2レベルのグループ化をそのままにして要約する方法はありますか?140,000以上の観測値があり、現在、すべての観測値を複製し、第1レベルのグループ化変数を1つの定数値に設定して、第2レベルのグループ化を含む製造された合計行を取得しています。

    行1:100200300より前のタイプA  
    行2:400500600後   
    行3:100200300より前のタイプB  
    行4:400500600後  
    行5:700800900以前の合計
    行6:701801901の後

またはPROC REPORT、自動的に何もできない場合でも、合計を一番下に表示するためのより良い方法はありますか?マルチラベル形式を使用できればいいのですが、PROC REPORT私の知る限りでは機能しません。

4

1 に答える 1

0

これは本当に簡単ですproc tabulate

/* test data */
data one;
  do type = "A", "B";
    do time = "Before", "After";
       drop AfterPremium;
       AfterPremium = 300 * (time="After");
       v1 = 100 + AfterPremium;
       v2 = 200 + AfterPremium;
       v3 = 300 + AfterPremium;
       output;
    end;
  end;
run;

proc tabulate data=one order=data formchar="|-+++++++++";
  class type time;
  var v1-v3;
  tables (type all="All Types")*time, (v1 v2 v3)*sum;
run;
/* on log
+----------------------+------------+------------+------------+
|                      |     v1     |     v2     |     v3     |
|                      +------------+------------+------------+
|                      |    Sum     |    Sum     |    Sum     |
+----------+-----------+------------+------------+------------+
|type      |time       |            |            |            |
+----------+-----------+            |            |            |
|A         |Before     |      100.00|      200.00|      300.00|
|          +-----------+------------+------------+------------+
|          |After      |      400.00|      500.00|      600.00|
+----------+-----------+------------+------------+------------+
|B         |Before     |      100.00|      200.00|      300.00|
|          +-----------+------------+------------+------------+
|          |After      |      400.00|      500.00|      600.00|
+----------+-----------+------------+------------+------------+
|All Types |Before     |      200.00|      400.00|      600.00|
|          +-----------+------------+------------+------------+
|          |After      |      800.00|     1000.00|     1200.00|
+----------+-----------+------------+------------+------------+
*/
于 2009-10-12T21:11:24.577 に答える