请选择 进入手机版 | 继续访问电脑版
楼主: iriris
1685 4

[有偿编程] 怎么把cvs(在同一列中有两种日期格式)转化成sas。急急急急! [推广有奖]

  • 0关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
29334 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
131 点
帖子
12
精华
0
在线时间
16 小时
注册时间
2014-9-3
最后登录
2019-3-25

iriris 发表于 2017-4-10 14:34:33 |显示全部楼层 |坛友微信交流群
100论坛币
情况如图,在transaction date下面的日期格式有两种,所以用proc import的时候是错误的,感觉应该用infile,但是不知道怎么用。
原始数据,我自己输的code和错误信息都在图里。
另外还有的问题就是Merchant Category Code (MCC) 那里因为才开始那里没有数据,所以自动弄成了informat Merchant_Category_Code__MCC_ $1. ; 是不是想要长一点就自己换成informat Merchant_Category_Code__MCC_ $60. ;?
还有个问题,想要重新命名那一列的名字, 把Merchant Category Code (MCC) 变成MerchantCategoryCode, 我用的Merchant Category Code (MCC) label = “MerchantCategoryCode”, 但是那个括号不能在那里,要怎么把(MCC)的括号代替掉啊?
如果全都解决了可以额外加论坛币,急急急急!!!!

Screenshot (41).png
Screenshot (42).png
Screenshot (43).png
Screenshot (47).png
Screenshot (46).png
Screenshot (45).png
Screenshot (44).png
关键词:cvs Transaction Merchant Category informat
tangbohu_us 学生认证  发表于 2017-4-11 02:06:15 |显示全部楼层 |坛友微信交流群
想到一个笨办法,你排个序,把不同格式的日期分成两个文件,分别导入sas,再合并。其实也不是很麻烦。

使用道具

sherry123 发表于 2017-4-11 08:44:59 |显示全部楼层 |坛友微信交流群
当文字读进来,然后:
if length(tranction_date) =9 then new_date=input(tranction_date, date9.);
else  new_date=input(tranction, xxxxxx.);


读入 Merchant_category_code_MCC_ 的时候, 直接 写:

informat MerchantCategoryCode      $200. ; 什么鬼? 不显示$

format    MerchantCategoryCode      $200. ;

input MerchantCategoryCode          $ ;






使用道具

l1i2n3i4n5g 在职认证  发表于 2017-4-11 08:49:59 |显示全部楼层 |坛友微信交流群
options validvarname=any;
data test;
infile datalines;
'Merchant Category Code (MCC)'n=123;
input  date anydtdtm30.;
format  date datetime30.;
cards;
4-apr-11
03.05.2011 00:00:00
;
run;

变量长度手动改一下就行
Merchant Category Code (MCC)可以直接是变量名

使用道具

iriris 发表于 2017-4-11 22:13:22 |显示全部楼层 |坛友微信交流群
tangbohu_us 发表于 2017-4-11 02:06
想到一个笨办法,你排个序,把不同格式的日期分成两个文件,分别导入sas,再合并。其实也不是很麻烦。
不行,老师不让改原始数据。。。。

使用道具

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

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

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

GMT+8, 2024-3-28 19:33