当我在SAS中使用PROC SQL(在UNIX上通过SAS EG使用SAS 9.3)时,我需要添加一些变量,但是其中一些变量缺失,导致总体数量丢失。例如:
PROC SQL;
CREATE TABLE my_table AS
SELECT
A,
B,
C,
(A+B+C) as D
FROM source_table
在此示例中,如果缺少A,B或C,则D也会丢失。我需要类似于数据步骤中的sum语句的东西,其中忽略任何缺失值。例如,如果缺少C,那么D应该等于A和B.
数据步骤不是一个选项。我必须留在PROC SQL中。
此致 瓦西里
答案 0 :(得分:4)
您也可以在PROC SQL中使用SUM
PROC SQL;
CREATE TABLE my_table AS
SELECT
A,
B,
C,
sum(A,B,C) as D
FROM source_table
答案 1 :(得分:2)
使用coalesce()
:
PROC SQL;
CREATE TABLE my_table AS
SELECT A, B, C,
coalesce(A, 0) + coalesce(B, 0) + coalesce(C, 0) as D
FROM source_table ;