Sas 汇总具有相同ID的行并忽略较小的类别
我有一个非常大的数据集,有多个列要求和和和类别,但下面是我尝试做的一个示例: 我想将“美元”列汇总到总账号级别,根据账号所在的行在“人”列中的数字最高。因此,每个账号只有一行,州列将包含人数较高的州Sas 汇总具有相同ID的行并忽略较小的类别,sas,Sas,我有一个非常大的数据集,有多个列要求和和和类别,但下面是我尝试做的一个示例: 我想将“美元”列汇总到总账号级别,根据账号所在的行在“人”列中的数字最高。因此,每个账号只有一行,州列将包含人数较高的州 Account Number State Dollars People 1 MA 200 5 1 NY
Account Number State Dollars People
1 MA 200 5
1 NY 100 2
2 CT 150 3
3 OH 100 3
4 VA 300 7
4 FL 100 3
在代码之后,它将如下所示:
Account Number State Dollars People
1 MA 300 7
2 CT 150 3
3 OH 100 3
4 VA 400 10
我认为这可能是一个简单的修复,但请帮助
提前谢谢
proc sql;
create table T2 as
select 'Account Number'n, State, sum(Dollars) as Dollars, sum(People) as People, People as People_Order
from T1
group by 'Account Number'n
order by People_Order desc
;quit;
/*通过以下方式将第一行保持在先前执行的顺序内:*/
proc sort data=T2 (drop=People_Order) nodupkey; by 'Account Number'n;run;
你想做的总结很容易让人误解。您可能会考虑“与大多数人保持这一行”,但是添加两个新列“代码> ActgPPEPSSCOUNTION< /COD>和<代码> ActTyDalLaySuthAuth/<代码>。一个DOW循环来计算统计数据,然后是另一个循环来有条件地输出最多的peep行。前面类似的问题都有你可以尝试的答案。