按照某个字段将SAS数据集导出多个数据集

以sashelp.cars数据集为例,通过origin字段将其拆分为origin_asia, origin_europe, origin_usa三个数据集。文章讨论了两种方法,包括直接使用call execute的效率问题以及利用first.变量优化,提高效率。虽然灵活,但不适合需要合并导出数据集的情况。" 129270901,9432762,Java实现的学生选课管理系统,"['Java', 'Web开发', '数据库设计', '学生信息系统', '教育信息化']
摘要由CSDN通过智能技术生成

以sashelp中的cars数据集为例,如果我们需要按照origin字段将数据分别导出到origin_asia,origin_europe,origin_usa三个数据集,我们采用以下代码:

data _null_;
    set sashelp.cars;
    call execute('data origin_'‖origin‖'; set sashelp.cars(where = (origin = "'‖origin‖'")); run;'); 
run;

该方法比较灵活,不需要知道origin字段有哪些值,可以直接将数据导入到对应的数据集,但同时也有效率低的问题。cars数据集有428条观测,所以call execute语句会执行428次。因为origin有3个取值,所以有425次都是在重复执行。下面我们采用first.语句进行优化,仅在origin值首次出现时执行call execut

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值