标题: 请教: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。这里真是个好地方 呵呵