我有一个包含多个heirachical变量的数据集:Region State County City District
对于上述变量的每个组合,存在一系列将被计数,求和等的变量。这很简单,使用基本的proc sql,除了输出文件需要在每个级别包含一行总计。因此,如果特定城市有4个区,则会有5行,例如。
生成第五行的一种方法是这样的:
proc sql;
create table district_sum as
select Region, State, County, City, 'All Districts' as District, bla, bla, bla...
这会给我在城市级别的总数,然后我可以为每个级别重复此过程。但我认为必须有一个更好的方法来做到这一点,而不是一系列类似的SQL步骤。
答案 0 :(得分:1)
尝试PROC SUMMARY。
proc summary data=foo;
class region state county city;
var bar;
output out=outData sum=sum;
run;
答案 1 :(得分:0)
您可以使用PROC TABULATE轻松生成包含各种嵌套变量和小计的报告:
PROC TABULATE data=yourdata;
CLASS Region State County City District;
VAR Sales;
TABLE Region*(State*(County*(City*(District ALL) ALL) ALL) ALL) ALL,
Sales*sum;
RUN;
答案 2 :(得分:0)
要以Dmitry Shopin的答案为基础,如果使用的是SAS EG,则可以使用汇总表向导。轻松播放并查看各个级别。
然后,您还可以从中获取源代码以派生Proc Tabulate。