全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3367 10
2013-05-18
悬赏 200 个论坛币 已解决


在Base中和EG中运行以下代码,得到的结果不同(附图)。EG下结果正确,但SAS Base似乎不能正确识别'09'x的分隔符。

BASE下 dlm=换成"(tab键)"可得到正确结果,但对于英文户名中含空格的情况,又会有问题。

Eg选择两种dlm方式都没有问题。

环境:Sas9.2(XP),9.3(Win7 64位) , EG4.3



200金求解。

复制代码


EG下结果 Base下的结果

EG下的结果.jpg

原图尺寸 22.34 KB

EG下的结果.jpg

Base 下的结果.jpg

原图尺寸 29.06 KB

Base 下的结果.jpg

最佳答案

boe 查看完整内容

用户名中包含空格,其他分隔符为tab,在datalines中不能实现,infile源文件 data x; infile "C:\Users\Administrator\Desktop\aa.txt" dlm='09'x missover; informat party_id $100. party_name $100. corp_type_cd $2.; input party_id party_name $ corp_type_cd $; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-18 11:38:39
用户名中包含空格,其他分隔符为tab,在datalines中不能实现,infile源文件
data x;
        infile "C:\Users\Administrator\Desktop\aa.txt" dlm='09'x missover;
        informat party_id $100. party_name $100. corp_type_cd $2.;
        input party_id party_name $ corp_type_cd $;
run;
二维码

扫码加我 拉你入群

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

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

2013-5-18 12:26:35
如果原始数据分隔符是空格,可以试试:
data x;
        informat party_id $100. party_name $100. corp_type_cd $2.;
        input party_id party_name & $ corp_type_cd $;
datalines;
111111111111111        兴业银行股份有限公司        3
222222222222222        台湾银行        3
333333333333333        泰国泰华农民银行        3
444444444444444        abcder deg de        3
;
run;

BASE,EG均可。
二维码

扫码加我 拉你入群

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

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

2013-5-18 13:43:32
原始数据是tab分割的,而且数据量大,难以替换。

且部分户名中包含空格。
二维码

扫码加我 拉你入群

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

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

2013-5-18 14:46:22
盗版的原因,因为eg是正版所以没问题,base是盗版所以不能处理,我的盗版sas画图只能画一张,再想画还得proc dataset 把之前那张删掉,都是盗版的问题
二维码

扫码加我 拉你入群

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

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

2013-5-18 18:39:30
pl172231 发表于 2013-5-18 14:46
盗版的原因,因为eg是正版所以没问题,base是盗版所以不能处理,我的盗版sas画图只能画一张,再想画还得pro ...
跟盗版没有关系。

Base也是正版的。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群