全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
754 1
2023-10-25
data t2;
   input Group $ Value;
   datalines;
A 10
A 15
B 20
B 25
C 30
C 35
;
proc summary data=t2;
var value;
output out=t3(drop=_TYPE_ _FREQ_) sum(Value)=sum;
class group;
run;

如下表,运行后的第一行给出了总数,想在输出时直接在第一行第一列中添加上“总计”的文本,如何实现?
group sum
135
A 25
B45
C65

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-10-26 09:45:09
你可以使用 `PROC REPORT` 或 `PROC TABULATE` 来自定义输出表格,并在特定单元格中添加文字。
```sas
data t2;
   input Group $ Value;
   datalines;
A 10
A 15
B 20
B 25
C 30
C 35
;

proc summary data=t2;
   var value;
   output out=t3(drop=_TYPE_ _FREQ_) sum(Value)=sum;
   class group;
run;

data t4;
   set t3;
   if _TYPE_ = 0 then do;
      Group = "总计";
      Sum = sum;
   end;
run;

proc report data=t4 nowd;
   column Group Sum;
   define Group / "Group";
   define Sum / "Sum";
run;
```

首先创建了一个名为 `t2` 的示例数据集。然后使用 `PROC SUMMARY` 对数据进行汇总,并将结果保存在 `t3` 数据集中。
再创建一个新的数据集 `t4`,将 `t3` 数据集中的内容复制到其中。在 `t4` 数据集中,使用一个条件语句来判断 `_TYPE_` 变量是否为 0,如果是,则表示该观测值为总计,将 `Group` 变量的值设置为 "总计",并将 `Sum` 变量设置为总和。
最后,使用 `PROC REPORT` 对 `t4` 数据集进行报告输出。在 `DEFINE` 语句中,我们可以为每个变量指定一个标签,这样在输出结果中就会显示相应的标签。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群