楼主: sophiesdaisy
9467 12

求助,利用obs读取数据的问题~~~~~~~~ [推广有奖]

  • 3关注
  • 1粉丝

已卖:509份资源

讲师

41%

还不是VIP/贵宾

-

威望
0
论坛币
4241 个
通用积分
11.1793
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
11216 点
帖子
423
精华
0
在线时间
456 小时
注册时间
2008-3-4
最后登录
2024-8-21

楼主
sophiesdaisy 发表于 2012-2-3 16:34:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data fund.transntodate(keep=predate) ;
set fund.ntoseason(firstobs=6 obs=1);
run;
报错为:“ERROR: FIRSTOBS 选项 > OBS 选项 — 文件 FUND.NTOSEASON 中没有要读取的数据”
在fund.ntoseason里面的数据是这样的
[tr]  [td=121]_col1[/td] [/tr]
[tr]  [td]2003年4季度[/td] [/tr]
[tr]  [td]2004年1季度[/td] [/tr]
[tr]  [td]2004年2季度[/td] [/tr]
[tr]  [td]2004年3季度[/td] [/tr]
[tr]  [td]2004年4季度[/td] [/tr]
[tr]  [td]2005年1季度[/td] [/tr]
[tr]  [td]2005年2季度[/td] [/tr]
[tr]  [td]2005年3季度[/td] [/tr]
[tr]  [td]2005年4季度[/td] [/tr]
[tr]  [td]2006年1季度[/td] [/tr]
[tr]  [td]2006年2季度[/td] [/tr]
[tr]  [td]2006年3季度[/td] [/tr]
[tr]  [td]2006年4季度[/td] [/tr]
[tr]  [td]2007年1季度[/td] [/tr]
[tr]  [td]2007年2季度[/td] [/tr]
[tr]  [td]2007年3季度[/td] [/tr]
[tr]  [td]2007年4季度[/td] [/tr]
[tr]  [td]2008年1季度[/td] [/tr]
[tr]  [td]2008年2季度[/td] [/tr]
[tr]  [td]2008年3季度[/td] [/tr]
[tr]  [td]2008年4季度[/td] [/tr]
[tr]  [td]2009年1季度[/td] [/tr]
[tr]  [td]2009年2季度[/td] [/tr]
[tr]  [td]2009年3季度[/td] [/tr]
[tr]  [td]2009年4季度[/td] [/tr]
[tr]  [td]2010年1季度[/td] [/tr]
[tr]  [td]2010年2季度[/td] [/tr]
[tr]  [td]2010年3季度[/td] [/tr]
[tr]  [td]2010年4季度[/td] [/tr]
[tr]  [td]2011年1季度[/td] [/tr]
[tr]  [td]2011年2季度[/td] [/tr]
[tr]  [td]2011年3季度[/td] [/tr]
[tr]  [td]2011年4季度[/td] [/tr]
[tr]  [td]2012年1季度[/td] [/tr]
[tr]  [td]2012年2季度[/td] [/tr]
[tr]  [td]2012年3季度[/td] [/tr]
[tr]  [td]2012年4季度[/td] [/tr]
[tr]  [td]2013年1季度[/td] [/tr]
[tr]  [td]2013年2季度[/td] [/tr]
[tr]  [td]2013年3季度[/td] [/tr]
[tr]  [td]2013年4季度[/td][/tr]


二维码

扫码加我 拉你入群

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

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

关键词:读取数据 obs 2009年3季度 2009年1季度 2010年4季度 ERROR

沙发
zhangzachary 发表于 2012-2-3 16:43:17
你的目的是什么?firstobs是读取行,obs是结束行,firstobs应当小于等于obs
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

藤椅
sophiesdaisy 发表于 2012-2-3 16:49:29
zhangzachary 发表于 2012-2-3 16:43
你的目的是什么?firstobs是读取行,obs是结束行,firstobs应当小于等于obs
我的目的其实是只读取一个数据,规则是先有个宏变量&n,然后提取第n行的数据,

板凳
sophiesdaisy 发表于 2012-2-3 16:56:37
zhangzachary 发表于 2012-2-3 16:43
你的目的是什么?firstobs是读取行,obs是结束行,firstobs应当小于等于obs
data fund.transntodate(keep=predate) ;
set fund.ntoseason(firstobs=%eval(&n) obs=%eval(&n+1));
run;

改成这样好像可以了。

然后我还想把这个选出来的值赋给宏变量,

proc sql;
select predate
into :predate
from fund.transntodate;
run;

这段好像又不行的·

报纸
zhangzachary 发表于 2012-2-3 17:13:14
sophiesdaisy 发表于 2012-2-3 16:49
我的目的其实是只读取一个数据,规则是先有个宏变量&n,然后提取第n行的数据,
只读一个数据的话,firstobs和obs是一样的,你上面的程序相当于读了2行,当然就会有问题~
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sophiesdaisy + 1 + 1 + 1 解决了~~~~~ 多谢!!!!!

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

寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

地板
sophiesdaisy 发表于 2012-2-3 17:19:06
zhangzachary 发表于 2012-2-3 17:13
只读一个数据的话,firstobs和obs是一样的,你上面的程序相当于读了2行,当然就会有问题~
恩 恩 我改了 但是虽然能够形成数据集 数据集打开却没有数据 报错为 没有变量 这个是为什么呢。。。

7
zhangzachary 发表于 2012-2-3 17:23:31
sophiesdaisy 发表于 2012-2-3 17:19
恩 恩 我改了 但是虽然能够形成数据集 数据集打开却没有数据 报错为 没有变量 这个是为什么呢。。。
fund.transntodate里面没有变量?如果你就是要提取那行数据到一个macro的话,可以用:
  1. data _null_;
  2. set fund.ntoseason(firstobs=&n. obs=&n.);
  3. call symput("predate",predate);
  4. run;
  5. %put &predate.;
复制代码
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

8
zkymath 在职认证  发表于 2012-2-3 23:57:43
应该有个实时的交流工具

9
sophiesdaisy 发表于 2012-2-5 21:21:20
zkymath 发表于 2012-2-3 23:57
应该有个实时的交流工具
嗯 认可~~

10
remeva 发表于 2012-2-19 01:26:01
做一个循环也可,用zhangzachary提到的call symput按顺序 进行赋值给宏变量,

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 23:47