楼主: wazg
3286 6

[问答] 求助,如何将记录输出到不同的数据集 [推广有奖]

  • 3关注
  • 0粉丝

已卖:384份资源

博士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
270 个
通用积分
0.0631
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
8157 点
帖子
201
精华
0
在线时间
359 小时
注册时间
2005-8-23
最后登录
2019-12-10

楼主
wazg 发表于 2015-5-21 17:51:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data a;
  2.    input A B dataset $;
  3.    datalines;
  4. 1 2 dataset_1
  5. 6 7 dataset_2a
  6. ......
  7. 2 3 dataset_100c
  8. ;
  9. run;
复制代码
数据集a中的dataset列包含了需要将该行记录输出到的数据集名称,如第一行数据要输出到dataset_1。因为记录条数非常多,且数据集命名无规则,求助在不使用select或if穷举的情况下,将这些记录正确输出?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:数据集 dataset Select DataS Elect 记录 如何

回帖推荐

yongyitian 发表于2楼  查看完整内容

沙发
yongyitian 发表于 2015-5-21 23:15:05
  1. data a;
  2.    input A B dataset $;
  3.    datalines;
  4. 1 2 ds_1
  5. 6 7 ds_2a
  6. 2 3 ds_100c
  7. ;
  8. run;

  9. data _null_;
  10.   set a;
  11.   call execute('data ' ||dataset||';'||'set  a (firstobs=' ||_n_|| ' obs=' || _n_ || ');run;' );
  12. run;

  13. /* or */
  14. data _null_;
  15.   set a;
  16.   call execute('data ' || dataset || ';' || 'set  a ; if  dataset= "' || dataset || '"; run ;' );
  17. run;
复制代码

藤椅
何必不淡定。 发表于 2015-5-22 09:24:58
yongyitian 发表于 2015-5-21 23:15
学习了

板凳
wazg 发表于 2015-5-22 10:31:46
yongyitian 发表于 2015-5-21 23:15
谢谢解答!

报纸
maomaokii 发表于 2015-5-22 11:14:08
yongyitian 发表于 2015-5-21 23:15
你好我想问下 call execute 中 这么多||是什么意思

地板
yongyitian 发表于 2015-5-22 11:48:07
maomaokii 发表于 2015-5-22 11:14
你好我想问下 call execute 中 这么多||是什么意思
把字符串和变量值连起来,成为可执行的sas语句。比如:
'data ' || dataset || ';' || 'set  a ; if  dataset= "' || dataset || '"; run ;'

生成的sas code 为:

data value_of_dataset;
    set a;
if dataset="value_of_dataset";
run;
  1. data _null_;
  2.   set a;
  3.   sas_code = cat('data ', dataset, ';', ' set a; if dataset="', dataset, '"; run;');
  4.   put _n_=    "sas_code: "  sas_code;
  5.   call execute(sas_code);
  6. /*  call execute('data ' || dataset || ';' || 'set  a ; if  dataset= "' || dataset || '"; run ;' ); */
  7. run;
复制代码

7
maomaokii 发表于 2015-5-25 09:25:47
yongyitian 发表于 2015-5-22 11:48
把字符串和变量值连起来,成为可执行的sas语句。比如:
'data ' || dataset || ';' || 'set  a ; if  dat ...
知道了 3Q!

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

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