楼主: 第四叶如
1439 8

怎么修改如下数据格式 [推广有奖]

  • 0关注
  • 1粉丝

已卖:321份资源

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
3199 个
通用积分
1.9703
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
200 点
帖子
24
精华
0
在线时间
35 小时
注册时间
2013-9-12
最后登录
2014-8-25

楼主
第四叶如 发表于 2014-4-3 09:36:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
QQ图片20140403093201.jpg
第一行有一个变量是括号内多个数字,
我想把变成如下格式,
比如第一行
开会,教研室,教研室,日期,{10,12,11,13,14,15}变为
开会,教研室,教研室,日期,10
开会,教研室,教研室,日期,12
开会,教研室,教研室,日期,11
开会,教研室,教研室,日期,13
开会,教研室,教研室,日期,14
开会,教研室,教研室,日期,15

就是相当于把括号里的数字拆出来,请问该怎么编程序,谢谢!!!
二维码

扫码加我 拉你入群

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

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

关键词:数据格式 怎么修改 怎么编程 教研室 编程序 教研室 程序 内多

沙发
heperwong 在职认证  发表于 2014-4-3 16:39:05
  1.   proc sql;
  2.    select max(count(attendance,","))+1,cats('y',max(count(attendance,","))+1) into: n,:y
  3.    from a; quit;

  4. data a_1;
  5.     set a;
  6.         array k[*] y1-&y _char_;
  7.         do i=1 to &n;
  8.         k[i] =scan(compress(attendance,"{}"),i,",");
  9.         end;
  10.         run;

  11. data last;
  12.    set a_1;
  13.    array k[&n] y: ;
  14.    do i=1 to &n;
  15.    attendance_=k[i];
  16.    if attendance_ = "" then delete;
  17.    output;
  18.    end;
  19.    drop i y1-&y;
  20.    run;
复制代码

藤椅
farmman60 发表于 2014-4-3 19:43:55
Use fake dataset as example

data have;
input id x y $30.;
cards;
1 4 {3,6,9,3}
2 6 {9,5}
;
run;

data want;
set have;
  do i=1 by 1 ;
    var=scan(y,i,,'kd');
    if var=' ' then leave;  
    else output;
  end;
  drop i y;
  run;

板凳
mingfeng07 学生认证  发表于 2014-4-3 20:14:54
farmman60 发表于 2014-4-3 19:43
Use fake dataset as example

data have;
请教一下,能解释一下那个scan函数语句吗?我没看明白后面“,'kd'”,这个代表什么意思呢?
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

报纸
第四叶如 发表于 2014-4-4 20:21:27
heperwong 发表于 2014-4-3 16:39
才看到谢了,我试一下,不胜感激!

地板
第四叶如 发表于 2014-4-4 20:21:59
farmman60 发表于 2014-4-3 19:43
Use fake dataset as example

data have;
才看到不好意思,我试试

7
farmman60 发表于 2014-4-5 07:14:32
mingfeng07 发表于 2014-4-3 20:14
请教一下,能解释一下那个scan函数语句吗?我没看明白后面“,'kd'”,这个代表什么意思呢?
k means that all characters that are not in charlist are used as delimiters, d means that adds digits to the list of characters, so k & d together means all others characters are delimiters except digits.

8
mingfeng07 学生认证  发表于 2014-4-5 16:07:28
farmman60 发表于 2014-4-5 07:14
k means that all characters that are not in charlist are used as delimiters, d means that adds dig ...
原来如此,谢谢
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

9
第四叶如 发表于 2014-4-6 09:47:02
farmman60 发表于 2014-4-3 19:43
Use fake dataset as example

data have;
精妙!!!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 17:22