sas - SAS - 按不同列的值合计列中的值
问题描述
标题可能有点模棱两可。本质上,使用 SASHELP.SHOES 数据集,我试图通过汇总每个地区的销售额和退货来汇总新表中的数据。例如,我没有 56 行用于在非洲销售的鞋子及其各自的销售/退货值,而是为非洲设置了 1 行,其中包含 TotalSales 和 TotalReturns 列。我需要对原始数据集中的每个区域执行此操作。
我对 SAS 一点也不熟悉,这或多或少是我真正必须在其中编程的第一件事。我尝试了一些带有 IN 或 WHERE 条件的数据步骤变体,proc 表示带有 SUM() 语句的步骤,以及 DO/DO WHILE 循环,但我每次都错过了一些东西。
解决方案
在Proc MEANS
- 使用
CLASS
语句指定要使用哪些变量对数据进行分组。在你的情况下REGION
。 - 使用该
VAR
语句指定要在每个分组中计算哪些变量的统计数据。
默认输出
对应最小语法
ods listing;
proc means noprint data=SASHELP.SHOES;
class region;
var sales returns;
output out=shoes_stats;
run;
为每个区域的每个统计信息创建WORK.SHOES_STATS
一行数据集。
其他输出结构
- 使用过程选项
NWAY
仅获取所有CLASS
变量组合的摘要。(在您的情况下,这对应于带有 的行_TYPE_=1
) - 输出列可以使用
OUTPUT
语句选项将统计名称自动连接到变量名称/ autoname
。 - 使用数据集选项来控制保留或删除的变量。
proc means nway noprint data=SASHELP.SHOES;
class region;
var sales returns;
output out=shoes_sums(drop=_type_ _freq_) sum= / autoname;
run;
dm 'vt shoes_sums; column names' viewtable;
推荐阅读
- python - 检查csv文件是否存在并满足条件?
- three.js - Raycaster 无法检测到立方体
- mysql - WooCommerce:使用 SQL 查询删除订单范围
- javascript - 您可以在 React JS 应用程序的新选项卡中显示 PDF 文件吗
- css - CSS背景图像未显示,尽管正确的路径和命名是正确的
- php - 从实时统计数据创建视图
- c++ - 不使用`sizeof(*type)`计算整数/任何数据类型的大小?
- node.js - 使用 AWS Lambda 函数从 Twilio 多部分/表单数据响应解析传真数据时损坏的 PDF
- variables - 汇编中的数据指令大小
- python - PythonKit 崩溃 Swift 项目