楼主: zlqs1985
3489 6

[编程问题求助] 求助:loop中的clear命令 [推广有奖]

  • 2关注
  • 17粉丝

已卖:32份资源

副教授

2%

还不是VIP/贵宾

-

威望
0
论坛币
1020 个
通用积分
12.0990
学术水平
2 点
热心指数
6 点
信用等级
2 点
经验
8730 点
帖子
323
精华
0
在线时间
815 小时
注册时间
2008-9-18
最后登录
2023-1-16

楼主
zlqs1985 发表于 2013-11-3 21:07:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
    我的目标是从一组1998-2008年的.mdb数据库文件中提取固定的若干列变量数据(比方说两列),做一个循环,但是由于stata中导入数据库文件的odbc load命令在执行前必须先用c清理内存,所以必须在循环中加入clear命令,我写的程序如下
  local i=2001
while `i'<=2008{
   odbc load id=FRDM name=B02,table("qy`i'") dsn("firm`i'")
   save m`i'.10.dta
   clear
   local i=`i'+1
   }
运行后错误信息如下
file m2001.10.dta saved
variable FRDM not found
r(683);

end of do-file


但是运行单独命令odbc load却没有问题,我推测问题出在clear命令上,请各位老师指点一下,不胜感激

二维码

扫码加我 拉你入群

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

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

关键词:loop CLE ear Lea 数据库文件 数据库文件 local 程序 清理

沙发
ywh19860616 发表于 2013-11-3 21:17:19
odbc load id=FRDM name=B02,table("qy`i'") dsn("firm`i'") clear
一份耕耘,一份收获。

藤椅
zlqs1985 发表于 2013-11-3 23:22:41
ywh19860616 发表于 2013-11-3 21:17
odbc load id=FRDM name=B02,table("qy`i'") dsn("firm`i'") clear
   感谢回复,可是试了一下好像还是一样的结果啊

板凳
ywh19860616 发表于 2013-11-4 08:39:58
试试这个可以?
odbc load id=FRDM name=B02,table("qy`i'") dsn("firm`i'") overwrite
一份耕耘,一份收获。

报纸
zlqs1985 发表于 2013-11-4 22:54:47
ywh19860616 发表于 2013-11-4 08:39
试试这个可以?
odbc load id=FRDM name=B02,table("qy`i'") dsn("firm`i'") overwrite
  odbc好像没有overwrite的option吧?

地板
夏目贵志 发表于 2013-11-5 02:16:19
clear option to odbc command should just work. there is no reason this could fail.
run two consecutive odbc command with clear options in interactive mode and see if the second command runs fine. if not, trace, then paste the output.

7
zlqs1985 发表于 2013-11-19 22:47:08
   是数据库本身的问题,前后年份变量名不一致,所以更改之前不能用loop,顺便吐槽一下中国官方的统计数据质量

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-9 13:34