将3变量合并为1

时间:2017-04-12 13:46:51

标签: sas base

我有如下表格。我想把这3个变量合二为一。如果EX1有值,则其余为空。

id  ex1  ex2  ex3
2   12
3        13
4        13
5             14

我需要这张桌子

id  final
2     12
3     13
4     13
5     14 

1 个答案:

答案 0 :(得分:1)

coalesce函数从参数列表中返回第一个非缺失参数。例如:

data want;
  set have;
  final=coalesce(of x1-x3);
run;

从x1,x2,x3返回第一个非缺失值。

coalescec是函数的字符版本(它返回一个字符值)。

另一种选择是sum值,所以

data want;
  set have;
  final = sum(of x1-x3);
run;

或者在字符中,cats(或带有分隔符的catx)将它们连接起来。如果存在多个值,则这些行为与coalesce / coalescec的行为不同,如果存在0值,则sum的行为会有所不同,但如果始终存在一个值,则行为相同