作者west1996 (焦了六年变脆了)
看板Statistics
标题Re: [程式] SAS资料档读取或写入format的问题
时间Tue Sep 22 12:37:17 2009
※ 引述《kenshin528 (成立奥凶帝国!!)》之铭言:
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 高(1年以上)
: [问题叙述]:
: 关於资料档FORAMT的问题
: 问题一:
: FORMAT的写入:
: 当我自己建构SAS7bdat资料档时,会使用proc format来定义变项的格式,
: 但是当我再读取资料档的时候,如果直接从libary开启检视的话,会显示格式跑掉
: 的讯息,
: EX:
: ERROR: Format A2A not found or couldn't be loaded for variable A2.
: ERROR: Format A4A not found or couldn't be loaded for variable A4.
: ERROR: Format A5A not found or couldn't be loaded for variable A5.
: ERROR: Format A7A not found or couldn't be loaded for variable A7.
: ERROR: Format B2A not found or couldn't be loaded for variable B2_1.
: 我必须使用option nofmterr;的指令来忽略format才有办法读取档案,
: 我想请问要如何将格式内嵌在资料档中?
: 因为我读取我老板处理的资料档,皆没有上述的问题,检视资料档时,变项名称
: 会变成foramt设定的名称,但是我老板又不肯跟我讲这怎麽弄QQ!
使用者自定的format定义似乎不能直接内嵌在资料档中?那个定义是存在.formats的
档案里面,SAS在开启资料档的时候才会去抓的,所以原则上如果资料有跨主机传递过
的话,资料档跟.formats档应该要包一起才行。
由於不确定你读取你老板的资料档是否是在他的电脑上读取,所以假设开启资料的电脑
中已经有一个档案是存取自创format资讯的,可以试着在电脑上找autoexec.sas这个档
案(通常是存放在sas的根目录下),估计你老板是已经在autoexec.sas中写入呼叫那个
存放format资讯的library了,所以sas一启动就会自动set好那个libref,所以开档案的
时候才call的到format的资讯
以上是我的猜测,有错还请告知:)
: 问题二:
: 另外一个是检试资料档的问题:
: 当我检视老板给我的sas7bdat档案时,变项名称会显示format的名称,
: 例如变项名称sex,打开来看那一栏会显示性别,
: 当我需要更动变项时,就必须去开CODEBOOK或是变项属性才能看到原本的变项,
: 想请问有没有办法将这样的资料舍弃原本的格式,
: 让我在检视档案的时候就能看到变项名称,谢谢
这边讲的应该是label的问题?
假如是label的话有两个方法
第一:如果只是想要在开启档案的时候栏位名称显示variable name不要显示label的话
开启资料之後去工具列的view->column names就可以切换了,这个方法会保留
label的资讯,不会更动到档案
第二:如果是要在档案中完全抹除label的设定的话,可以参考下面的指令
proc datasets lib=XXXX nolist;
modify XXXX;
attrib _all_ label=''; *Remove labels;
quit;
run;
要使用一或二就看你想不想要保留label的资讯搂~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.40.59
1F:推 kenshin528:第二个问题我了解了 谢谢! 09/22 15:58
2F:→ kenshin528:第一个问题我也是很疑惑-.- 09/22 15:58
3F:推 kenshin528:我老板是给我sas档 没有别的 看来我带着酒去问好了-.- 09/22 16:01
4F:→ west1996:是喔 那问到记得分享一下 我也想知道> < 09/22 16:54
5F:推 jwjeng:推这句:带着酒去问... 09/23 00:44