SAS 逐行赋值给宏函数

拿到一组数据,csv文件开头为数字,比如000001.csv。

想把csv文件用代码批量导入到sas数据集中就有一点小的问题。

命名,sas数据集开头不能以数字开头。


第一,利用 x “dir  ....... >  ......\data_list.csv” 把文件目录下的所有文件导成了一个list,存在了csv文件中。

第二,经过筛选和处理,获取了一个叫list的sas数据集,里面第一列是文件名 如 000001.csv。第二列是用来给sas数据集命名的,设置成了csv000001。

编写了一个宏 import, 这个宏有两个参数,一个是file_name,一个是sas_name。

现在想的时候,根据file_name可以获取文件路径,然后保存成sas_name。

但是宏有两个参数,这个时候将list中的每行观测去跑宏就是一个比较少见的问题了。(尴尬,业务都要求用SAS,现在刚刚学)

解决方法:

DATA _NULL_;

SET  lib_name.list(obs=max);

call execute('%import('||sas_name||','||file_name||');');

run;

这个时候就是每读一条观测,观测中的sas_name和file_name的值就会放入import这个宏去跑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值