SAS:需要计算每个 ID 的实例数
SAS: Need to count number of instances per id
假设我有 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
我有表 2:
id
1
2
3
我想计算每个 id 的每列中的值的数量,以获得这样的输出。 (例如 id 1 有 2 - z,一个 y 和一个 x)
id value1 value2 value3
1 2 1 1
2 1 1 0
3 1 1 0
需要在 SAS 中执行此操作。 Oracle 中有这样的示例,但 SAS 中没有。
如果我没理解错的话,这是一个使用 proc sql 的简单查询。对于第一个 table 中的所有 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
值的数量。
假设我有 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
我有表 2:
id
1
2
3
我想计算每个 id 的每列中的值的数量,以获得这样的输出。 (例如 id 1 有 2 - z,一个 y 和一个 x)
id value1 value2 value3
1 2 1 1
2 1 1 0
3 1 1 0
需要在 SAS 中执行此操作。 Oracle 中有这样的示例,但 SAS 中没有。
如果我没理解错的话,这是一个使用 proc sql 的简单查询。对于第一个 table 中的所有 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
值的数量。