SAS中文论坛

标题: 请教:sql移植到sas遇到的问题 [打印本页]

作者: shiyiming    时间: 2009-5-19 14:15
标题: 请教:sql移植到sas遇到的问题
proc sql;
create table secinfo as
SELECT
        A.SecuCode,
        A.SecuAbbr,
        B.TradingDay,
        B.ClosePrice,
          RAF=(CASE WHEN D.RatioAdjustingFactor IS NOT NULL AND E.RatioAdjustingFactor <> 0
          THEN B.ClosePrice*D.RatioAdjustingFactor*1.0/E.RatioAdjustingFactor
          WHEN D.RatioAdjustingFactor IS NULL AND E.RatioAdjustingFactor <> 0
               THEN B.ClosePrice*1.0/E.RatioAdjustingFactor ELSE B.ClosePrice END),
请教高手,就上面的代码 俺把它从sql粘到sas中后,不能执行,说是:“以下这些列在起作用的表中没有找到: RAF.”。其他变量都是几个表中直接就有的变量,RAF是新定义的。请问有没有替代实现的办法呢? 谢谢~~
作者: Qiong    时间: 2009-5-20 09:45
标题: Re: 请教:sql移植到sas遇到的问题
试试看把[code:1oju4dc5]RAF=(CASE WHEN D.RatioAdjustingFactor IS NOT NULL AND E.RatioAdjustingFactor <> 0
THEN B.ClosePrice*D.RatioAdjustingFactor*1.0/E.RatioAdjustingFactor
WHEN D.RatioAdjustingFactor IS NULL AND E.RatioAdjustingFactor <> 0
THEN B.ClosePrice*1.0/E.RatioAdjustingFactor ELSE B.ClosePrice END),
[/code:1oju4dc5]
改成
[code:1oju4dc5]CASE
WHEN not missing(D.RatioAdjustingFactor) AND E.RatioAdjustingFactor^= 0
THEN B.ClosePrice*D.RatioAdjustingFactor*1.0/E.RatioAdjustingFactor
WHEN missing(D.RatioAdjustingFactor) and  E.RatioAdjustingFactor^=0
THEN B.ClosePrice*1.0/E.RatioAdjustingFactor
ELSE B.ClosePrice
END
as raf[/code:1oju4dc5]
作者: shiyiming    时间: 2009-5-20 10:54
标题: 十分感谢vicky1020
问题已解决,十分感谢vicky1020。这里真是个好地方 呵呵




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2