SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 645|回复: 2
打印 上一主题 下一主题

请教:sql移植到sas遇到的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-5-19 14:15:26 | 只看该作者

请教: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是新定义的。请问有没有替代实现的办法呢? 谢谢~~
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
沙发
发表于 2009-5-20 09:45:53 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-5-20 10:54:13 | 只看该作者

十分感谢vicky1020

问题已解决,十分感谢vicky1020。这里真是个好地方 呵呵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 17:42 , Processed in 0.068345 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表