2013-10-07 52 views
0

产生什么报告:将考虑到SAS数据集WORK.ONE这些SAS代码

X Y Z 
    - - -- 
    1 A 27 
    1 A 33 
    1 B 45 
    2 A 52 
    2 B 69 
    3 B 70 
    4 A 82 
    4 C 91 

下面的SAS程序提交:

data WORK.TWO; 
    set WORK.ONE; 
    by X Y; 
    if First.Y; 
    run; 
    proc print data=WORK.TWO noobs; 
    run; 

我不先了解。最后。在两个变量的声明之后。 如果它是Y的 ;如果是First.Y,则为 ; 我知道数据步骤中发生了什么。但现在,它似乎更复杂一点。

回答

1

TWO将包含从ONE是用于Y每个新值的第一个记录,或者X每个新值(如果这是任何附加记录)的记录。所以,1 A,1 B,2 A,2 B,3 B,4 A4 C的第一个记录。

基本上,在化合物BY语句,每次一个变量的值的变化,该变量和每个变量在右侧通过声明集first. 1(真)。

+0

我只是想通了。哈。不管怎么说,还是要谢谢你。 – zhuoer