楼主: tiaotiaotang
2444 6

[原创博文] 请教如何用宏实现以下合并 [推广有奖]

  • 1关注
  • 3粉丝

准贵宾(季)

博士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
2945 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
4186 点
帖子
119
精华
0
在线时间
378 小时
注册时间
2007-12-14
最后登录
2019-5-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位大侠:如何宏实现对股票数据的合并。原来是每年每只股票存为一个SAS表格,每个表由stk年_code命名(如stk06_000001),表内的数据有code,date,r。如何实现将n年(如05-10年)、所有A股股票的数值合并到一张表中。谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:如何用 code 股票数据 如何实现 date 如何 命名

回帖推荐

chai_prime 发表于2楼  查看完整内容

憋了半天咋把一支股的整一块...宏没弄出来,仔细一想,那么多支股呢... 回头看题楼主想把全部的 “所有A股股票的数值合并到一张表中” 那就这样吧...如果没理解错,就这样就可以了...前提是把他们放同一个库下…并且前缀为stk的恰好都是你需要的 另外:注意重复情况~~
沙发
chai_prime 发表于 2011-12-28 22:44:03 |只看作者 |坛友微信交流群
憋了半天咋把一支股的整一块...宏没弄出来,仔细一想,那么多支股呢...
回头看题楼主想把全部的
“所有A股股票的数值合并到一张表中”

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

另外:注意重复情况~~
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
tiaotiaotang + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
jintianxiu 发表于 2011-12-28 22:51:56 |只看作者 |坛友微信交流群
这是纵向合并问题,没有必要非得要使用宏阿。proc sql 也可以阿

使用道具

板凳
tiaotiaotang 发表于 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,烦请指导。谢谢!

使用道具

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


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

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

使用道具

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

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

使用道具

7
tiaotiaotang 发表于 2011-12-31 10:31:48 |只看作者 |坛友微信交流群
chai_prime 发表于 2011-12-30 20:57
表结构一致,各表又没有重复的情况(各表间code都不同),而又没有指定by  变量,
用merge合并应该是这样 ...
这样啊,谢谢了,

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 14:03