SAS EG Sum(Case When ...)错误

时间:2016-01-04 19:27:23

标签: sas

我一直在SAS EG中进行两步处理,创建一个临时表(连接到Netezza),然后使用该表构建最终的汇总表。在创建最终表时,我试图有两个计算列代表所有销售报价的平均值,只有接受报价的客户(即期望接受的客户的平均报价低于所有查询的总和)。为了对接受报价的客户进行细分,而不接受报价报价的客户,我尝试使用Sum(Case When ...)和Sum与布尔运算符。

我有以下代码,最后三个sum语句试图以不同的方式创建相同的列(只是找一个有效的列)。前两次尝试返回一个错误,表示它无法识别满足给定参数类型的函数。最后的尝试(这是我开始的地方)不能识别语法,我觉得这是正确的。在“END”周围的闭括号后发生错误。任何帮助将不胜感激:

EXECUTE (
CREATE TABLE SAMPLE1 AS
SELECT DATE 
       ,STATE
       ,SUM(INQRY_CN) AS INQ_COUNT
       ,(SUM(BOUND_IN)/INQ_COUNT) AS CLOSURE
       ,SUM(QUOTE_AMOUNT) AS AVG_QTD_AM
       **,SUM(QUOTE_AMOUNT*(DAY_OF_QUOTE <> '01JAN1901')) AS AVG_BND_AM 
       ,SUM(QUOTE_AMOUNT*(BOUND_IN=1)) AS AVG_BND_AM
       ,SUM(CASE WHEN BOUND_IN=1 THEN QUOTE_AMOUNT
             ELSE . END) AS AVG_BND_AM**
FROM TEMP_TABLE
GROUP BY 1,2
ORDER BY 1,2
) BY NETEZZA;
DISCONNECT FROM NETEZZA;
QUIT;

0 个答案:

没有答案