全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2793 6
2011-12-28
请教各位大侠:如何宏实现对股票数据的合并。原来是每年每只股票存为一个SAS表格,每个表由stk年_code命名(如stk06_000001),表内的数据有code,date,r。如何实现将n年(如05-10年)、所有A股股票的数值合并到一张表中。谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-28 22:44:03
憋了半天咋把一支股的整一块...宏没弄出来,仔细一想,那么多支股呢...
回头看题楼主想把全部的
“所有A股股票的数值合并到一张表中”

那就这样吧...
复制代码
如果没理解错,就这样就可以了...前提是把他们放同一个库下…并且前缀为stk的恰好都是你需要的

另外:注意重复情况~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-28 22:51:56
这是纵向合并问题,没有必要非得要使用宏阿。proc sql 也可以阿
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-30 16:22:49
chai_prime 发表于 2011-12-28 22:44
憋了半天咋把一支股的整一块...宏没弄出来,仔细一想,那么多支股呢...
回头看题楼主想把全部的
“所有A股 ...
谢谢了,我想了半天宏,没想到你这么简单就解决了。请问一下set stk:中“:”是什么意思呢?是相当于其他语言里的“*”吗?是表示以stk为前缀的所有表?那么是在整个SAS里都是这么用吗?比如说我是否可以把set换成merge。用来对以stk为前缀的所有表进行横向合并呢?我换成Merge试了试,程序没提示错误,能跑,出的结果也是纵向合并,并且是按code倒叙排的。这是什么缘故呢?不会是因为表的结构一致,merge和set的作用就一样了吧?刚开始学SAS,烦请指导。谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-30 20:47:06
tiaotiaotang 发表于 2011-12-30 16:22
谢谢了,我想了半天宏,没想到你这么简单就解决了。请问一下set stk:中“:”是什么意思呢?是相当于其他 ...
:的意思对了,我接触也不深,目前用到的只有在纵向合并中;


set只需要表结构一致、变量名一致就ok了--纵向合并相当于在原表上加“行”

merge通常需要主健来处理了( by   key  )...横向合并不同句法结果是有差别的...你再看看内置的例子就好~~
个人感觉,不建议过多的表同时横向合并...或者是我还没掌握其中的奥义吧...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-30 20:57:02
tiaotiaotang 发表于 2011-12-30 16:22
谢谢了,我想了半天宏,没想到你这么简单就解决了。请问一下set stk:中“:”是什么意思呢?是相当于其他 ...
表结构一致,各表又没有重复的情况(各表间code都不同),而又没有指定by  变量,
用merge合并应该是这样的...不过这种做法不合适..

有可能产生覆盖情况...
至于倒序..不甚解,你可以看看日志,在读入数据集时的顺序,应该和那个顺序一致~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群