Statistics 板


LINE

------------------------------------------------------------------------ [软体程式类别]: SAS [程式问题]: 资料处理 [软体熟悉度]: 低(1~3个月) [问题叙述]: 不好意思,由於最近在写sas的作业,有出现一些资料处理的问题, 需要再麻烦各位大人了 原始的TXT档长相如下: 公司 年 月 日 概估年月 财务报表公告日 XXXX 甲公司 2010 4 30 200912 20100430 XXXX 甲公司 2010 4 30 201003 20100430 XXXX 甲公司 2010 8 31 201006 20100831 XXXX 甲公司 2010 10 29 201009 20101029 YYYY 乙公司 2010 3 10 201002 YYYY 乙公司 2010 4 9 201003 20100429 YYYY 乙公司 2010 4 29 200912 20100429 YYYY 乙公司 2010 4 29 201003 20100429 因为之前有读取过类似格式的TXT档,发现偶有些TXT档好像导出资料的时候用 TAB做分隔,因此读取的时候我是另加DELIMITER='09'X的语法,这次也是利用 这样的方式读取TXT档,但是在档案中财务报表公告日那列原来为空格的储存 格,读进SAS後竟然不是遗失值,而是自动读取公司代码,因为我原来打算要把 有空格那列的资料删除,可是这下就没办法用「IF 变数=. THEN DELETE」的作法, 後来我试着用「IF 变数=公司代码 THEN DELETE」,可是我发现,有些空白格读 入的不一定是同一列的公司代码,而是下一列不同的公司代码,因此到这里小妹 又卡住了,不知道要如何将财务报表公告日那列原来为空格的那笔资料删除? 另外,想请问一下,像这种以tab为分隔的txt档,在读取的时後,有没有什麽 办法可以可以将连在一起的概估年月,像是200912分割成2009 12,财务报 表公告日也是一样,想把连在一起的年月日分割,我原来有试着用栏位输入法, 可是好像原始档用tab分隔的档案,读取的时候栏位都会跑掉,之所以要分割是 因为要将概估年月是2009年的删掉,只想留下2010年的部份,虽然看起来原始 档案中已经分开列示的年月日等变数和财务报表公告日很像,但是因为我还要将 这个档案和另外一份合并,再以财务报表公告日为主去比对出另外一份档案中, 和这份档案财务报表公告日相同的资料,抓取前後20天的资料,所以在一开始 读取上述的原始txt档时,希望尽量能将可以比对的年月日分开列示,以方便进 行比对合并资料。 最後,想请问一下,由於原始TXT档中,同一家公司可能会出现两次同样的概估年度 ,如果出现重复的情形,我只想保留第一笔资料,不知道用「NODUPKEY」的语法能不能 处理呢? 不好意思,麻烦各位了,谢谢^^ ----------------------------------------------------------------------------- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.244.73
1F:推 west1996:1.原始档有missing的问题可以参考missover和truncover这 06/06 13:10
2F:→ west1996:两个option 06/06 13:10
3F:→ west1996:2.如果要切年月日的话在input这一句的变数指定方法要作 06/06 13:11
4F:→ west1996:修改,要跟SAS说每一个变数要从txt的第几栏读到第几栏, 06/06 13:11
5F:→ west1996:语法请参考help的「input」条目下的list 06/06 13:13
6F:→ west1996:3.在读取外部档阶段似乎不能去重复? 06/06 13:14
先谢谢大人的回答,可能是我表达的不是很清楚,针对大人第一个回答,在原始 档中空格的部份,我原来以为读进sas档中会是遗失值,这样我就可以针对遗失 值的部份,利用if语句删除那列,但是,实际操作後,发现sas读取的时候,原 始档中原来是空格的部份,sas会自动带入下一列的公司简码,这样一来,我就 不知道要如何能删除原始档中原来是空格的那列资料,因为原始档好像是用tab 去做分隔,我不太确定是不是因为这个原因所导致这样的情形,另外,我也有试 过大人所提的,在input时指定每一个变数要从第几栏到第几栏,可是,可能是 因为原始档不是以空格做分隔,而是以tab做分隔,我在原始档数的栏位,在 sas 读取後反而会全部跑掉,因为之前没碰过这样的情形,所以想请教各位一下,谢 谢^^ 刚刚试着参考其他文章选取栏位的作法 试着写了一段程式 DATA d; INFILE anndatee DELIMITER='09'X FIRSTOBS=2; INPUT code name$ yr1 month1 date1 Quarter$ annodate$; DROP yr1 month1 date1; if length(annodate) eq 4 then delete; yr2=substr(Quarter,1,4); month2=substr(Quarter,5,2); run; 可是我发现又出现以下问题: 1.在log视窗内,出现这段note NOTE: 4859 records were read from the infile ANNDATEE. The minimum record length was 26. The maximum record length was 39. SAS went to a new line when INPUT statement reached past the end of a line. The data set WORK.D has 4609 observations and 6 variables. 虽然原始档有4859笔资料,但是读进sas档却只有4609笔??? 2.原来设定Quarter及annodate变数时并未改成文字型态,但是采用substr的话却无法 产生我想要抓取的年月,所以後来改成文字型态进行处理,不知道这样作对不对,因为 如果要和另外一个档案以年月进行比较的话,势必要将该档案的年月改成文字型态,才 能进行比较。 不好意思,因为老师作业提供的原始档实在很怪,所以一直出现问题,还请各位多多包涵 谢谢^^ ※ 编辑: joyce618 来自: 114.43.116.83 (06/06 23:47)
7F:推 west1996:先在infile後面加上missover和truncover这两个关键字看看 06/07 00:09
8F:→ west1996:比数会错就是因为原始资料里面有missing的原因,先把笔数 06/07 00:10
9F:→ west1996:和资料读对了,再来考虑後面的问题,不然也是白搭XD 06/07 00:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP