【问题标题】:SAS proc report Order after GroupSAS proc报告Order after Group
【发布时间】:2014-09-30 15:52:07
【问题描述】:

我是 SAS 的新用户,正在尝试 proc 报告,

filename exer2 '~/201207Hac.csv';
data work.exercise2;
    infile exer2 dlm="," firstobs=2;
    input Type $ Region $ Country $ City $ Imp Exp Ts; 
run;

proc report data = work.exercise2 nowd headline headskip;
    where type = "M";
    column Region Imp;
    define Region / group 'REGION'; 
run;

输出有两列包含 REGION 和对应的 Imp 值总和。
我想尝试define Imp / Order; 但失败了。

虽然我想按降序对小鬼进行排序。我怎样才能做到这一点? 谢谢

【问题讨论】:

    标签: sas proc-report


    【解决方案1】:

    你有几个简单的选择。

    首先是在proc报告之前做一个proc排序:

    PROC SORT DATA = work.exercise2; BY DESCENDING Imp; RUN;
    

    或者您可以订购 proc 报告:

    proc report data = work.exercise2 nowd headline headskip;
        where type = "M";
        column Region Imp / order order=data descending;
        define Region / group 'REGION'; 
    run;
    

    【讨论】:

    • 嗨@jj72uk,第二个选项。 / 有语法错误。不知道是不是因为我用的是大学版?
    • @user 你有哪个版本的 SAS?帮助 > 关于
    • @user 我不熟悉 SAS Studio。使用“ORDER”的示例在语法上是正确的,因为我可以在 BASE SAS 上使用它。尝试我的第一个选项,在 proc 报告之前对数据集进行 proc 排序。
    • 再问一个问题。我如何通过 proc print 实现这一点?
    • @user 考虑这个排序然后使用 proc print 的例子:data need; set sashelp.class; run; proc print data = need; run; proc sort data=need out=want_sorted; by age; run; proc print data = want_sorted; run;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多