SAS:需要计算每个id的实例数

时间:2017-03-10 18:39:38

标签: sql count sas unique distinct-values

我们假设我有table1:

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

我有table2:

id  
1  
2  
3  

我想计算每个id每列中的值数,以得到这样的输出。 (例如,id 1有2 - z' s,1 y和1 x)

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

需要在SAS中执行此操作。在Oracle中有一个例子,但在SAS中没有。

1 个答案:

答案 0 :(得分: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值的数量。