楼主: 流光寂然
2214 8

[原创博文] 求助 数据筛选问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

90%

还不是VIP/贵宾

-

威望
0
论坛币
110 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1788 点
帖子
36
精华
0
在线时间
73 小时
注册时间
2010-3-14
最后登录
2012-4-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
刚刚找了一个数据集,很多重复观测。我只想要月份为12月的观测, [img]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/TB%7BMWUJD5H5[4VX%7DG7J6~XT.jpg[/img] 试着跑了以下程序,似乎不行,不知道问题在哪?有没有高手可以指数一下,先谢拉
data resdat.state;
if month(_COL2)^=12 then delete;
proc print;
run;
二维码

扫码加我 拉你入群

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

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

关键词:数据筛选 delete DOCUME ResDat LOCALS 程序

沙发
xiaosanmao 发表于 2010-5-3 11:48:13 |只看作者 |坛友微信交流群
data resdat.state;
set resdat.state;
if month(_COL2)^=12 then delete;
run;

使用道具

藤椅
heima2005 发表于 2010-5-3 11:59:41 |只看作者 |坛友微信交流群
用的是啥程序啊
走自己的路,让别人无路可走。

使用道具

板凳
流光寂然 发表于 2010-5-3 12:06:38 |只看作者 |坛友微信交流群
试了二楼的,还是不行,提示是:NOTE: 变量 _COL2 未初始化。
NOTE: 缺失值的生成是对缺失值执行操作的结果。
       指定每个位置的方式: (次数)(行:列)。
      1 20:4
NOTE: 数据集 RESDAT.STATE 有 0 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.00 秒



我编的是
PROC IMPORT OUT= RESDAT.state
            DATAFILE= "E:\研究生\金融数据库 SAS\项目\sas论文数据2\state1
.xls"
            DBMS=EXCEL REPLACE;
     SHEET="MSHLSTANDOS$";
     GETNAMES=YES;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;
proc sort data =resdat.state
    out =resdat.states    nodup ;
    by  _COL0 _COL2;
run ;
/*删除重复观测*/
data resdat.state;
if month(_COL2)^=12 then delete;
run;


是哪里有问题呢?

使用道具

报纸
流光寂然 发表于 2010-5-3 12:08:06 |只看作者 |坛友微信交流群
因为导入的是EXCEL 数据,各列变量名就是_COL0 ,_COL1,是否这里需要修改

使用道具

地板
xiaosanmao 发表于 2010-5-3 12:12:21 |只看作者 |坛友微信交流群
流光寂然 发表于 2010-5-3 12:08
因为导入的是EXCEL 数据,各列变量名就是_COL0 ,_COL1,是否这里需要修改
无语了 col2 有没有你看一下不就好了,有就删 没有就不删 难道让我们判断有没有么?

使用道具

7
流光寂然 发表于 2010-5-3 12:14:00 |只看作者 |坛友微信交流群
6# xiaosanmao
不是这个问题,已经解决了,加入SET 语句就好,谢谢帮忙

使用道具

8
jingju11 发表于 2010-5-3 12:31:04 |只看作者 |坛友微信交流群
7# 流光寂然

既然是加set问题就解决,那不就是二楼的答案呢?为什么说不是呢?

使用道具

9
xiaosanmao 发表于 2010-5-3 12:36:44 |只看作者 |坛友微信交流群
jingju11 发表于 2010-5-3 12:31
7# 流光寂然

既然是加set问题就解决,那不就是二楼的答案呢?为什么说不是呢?
懒得敲字
直接复制的 忘记把第二行改成set了
data resdat.state;
data resdat.state;
if month(_COL2)^=12 then delete;
run;

使用道具

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

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

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

GMT+8, 2024-5-10 10:05