sas - 对子项进行分组并显示父项总和
问题描述
我有下表
+-------+--------+---------+
| group | item | value |
+-------+--------+---------+
| 1 | a | 10 |
| 1 | b | 20 |
| 2 | b | 30 |
| 2 | c | 40 |
+-------+--------+---------+
我想按 对表进行group
分组,将分组的总和插入value
,然后取消分组:
+-------+--------+
| item | value |
+-------+--------+
| 1 | 30 |
| a | 10 |
| b | 20 |
| 2 | 70 |
| b | 30 |
| c | 40 |
+-------+--------+
结果的目的是将第一列解释为属于第 1 组的项目 a 和 b,总和为 30,而项目 b 和 c 属于第 2 组,总和为 70。
解决方案
这种数据转换可以指示报告要求,而不是用于下游处理的有用数据结构。 Proc REPORT
可以以所需的形式创建输出。
data have;
infile datalines;
input group $ item $ value @@; datalines;
1 a 10 1 b 20 2 b 30 2 c 40
;
proc report data=have;
column group item value;
define group / order order=data noprint;
break before group / summarize;
compute item;
if missing(item) then item=group;
endcomp;
run;
推荐阅读
- mysql - 更改单个项目的 ddev 密码
- python - 通过循环熊猫使用另一个数据帧过滤一个数据帧
- php - 获取数组的最高值
- java - 使用 Apple 的 App Store Server API 时找不到 Issuer ID
- c++ - setiosflags(ios::showbase) -> 为什么我需要写 ios?
- javascript - 我的 api 代码从 mongodb 检索一个空数据数组,而该代码在 mongodb 操场上运行良好
- javascript - 反应卡中的引导表
- javascript - 在 VS 代码中查看完整二叉树的问题(使用 JavaScript)
- html - 如何使用引导程序 5 在导航栏中拉伸搜索框?
- testing - 我如何使用软件的屏幕截图来可视化软件所具有的功能之间的联系?