2023-08-23 批量清除数据集格式
编程时需要将数据库中的数据集清除全部变量的format和informat,一个一个的处理过于麻烦了,所以今天找了些方法来实现批量处理。
🌟方法1:使用proc datasets
proc datasets lib=work memtype=data; /*lib=需要清除格式的数据集存储的数据库*/
modify test1;/*modify一次修改一个数据集的属性*/
attrib _all_ label=' ';
attrib _all_ format=;
modify test2;
attrib _all_ format = ;
attrib _all_ informat = ;
......
run;
🌟方法2:使用call execute
(1)对数据库中全部数据集清除格式
/*去除数据集格式*/
data _null_;
set sashelp.vmember(where=(libname="TEST"));
call execute(
"data work."||dequote(memname)||"; set test."||dequote(memname)||
"; format _all_; informat _all_; run;");
run;
(2)选择数据库中部分数据集清除格式
/*调用数据集*/
%let raw = %nrstr("test1" "test2" .....);/*将需要清除格式的数据集名称用双引号括起来,赋值给宏变量raw*/
/*去除数据集格式*/
data _null_;
set sashelp.vmember(where=(libname="TEST" and memname in (&raw)));
call execute(
"data work."||dequote(memname)||"; set test."||dequote(memname)||
"; format _all_; informat _all_; run;");
run;