2013-10-07 51 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