SAS上的PROC SQL中的Sum语句

时间:2014-11-13 16:26:58

标签: sql sas proc

当我在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中。

此致 瓦西里

2 个答案:

答案 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 ;