2017-03-10 22 views
0

實例數假設我有表1:SAS:需要計算每個ID

id value1 value2 value3 
1 z  null null 
1 z  null null 
1 null y  null 
1 null null x 
2 null y  null 
2 z  null null 
3 null y  null 
3 null null null 
3 z  null null 


id value1 value2 value3 
1 z  null null 
1 z  null null 
1 null y  null 
1 null null x 
2 null y  null 
2 z  null null 
3 null y  null 
3 null null null 
3 z  null null 

,我有表2:

id 
1 
2 
3 

我希望計算每ID每列值的數量有這樣的輸出。 (例如id 1有2-z's,一個y和一個x)

id value1 value2 value3 
    1 2  1  1  
    2 1  1  0 
    3 1  1  0 

需要在SAS中執行此操作。在Oracle中有一個例子,但在SAS中沒有。

+0

oracle解決方案:http://stackoverflow.com/questions/36057894/count-number-of-values-per-id –

回答

0

如果我理解正確,這是一個使用proc sql的簡單查詢。在第一表中的所有的ID:

proc sql; 
    select id, count(val1) as val1, count(val2) as val2, count(val3 as val3) 
    from table1 
    group by id; 
run; 

count()計數在柱中或表達非NULL值的數量。