如何根据SAS中的值进行排序?

时间:2014-07-16 21:55:37

标签: sas

我们说我有一个包含以下内容的数据集,我怎么才能排序,以便我只打印Midfielders和Strikers的值及其各自的名称和数字?

    INPUT Position $ Name $ Number;
    DATALINES;
    Striker, Bob, 11
    Midfield, John, 8
    Midfield, Mary, 7
    Goalie, Tim, 16
    Striker, Bharat, 32
    ;
    RUN; 

2 个答案:

答案 0 :(得分:2)

您可以使用proc排序对数据进行排序(如果需要),然后使用proc print打印/显示。 使用where语句限制print语句中的数据集。

proc sort data=have; 
by position;
run;

proc print data=have noobs;
where position in ('Midfield', 'Striker');
run;

答案 1 :(得分:0)

您可以直接添加过滤器以进行如下排序:

proc sort data=ds 
(where=(upcase(Position) contains("STRIKER") or 
        upcase(Position) contains("MIDFIELD")));
by Position;
run;

这对于大数据集非常有用,可以与数据步骤和大量过程一起使用。