全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10514 7
2010-11-30
大家好,请问下如何删除宏变量和自定义输出输入格式?多谢了!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-30 10:26:45
%symdel  <宏变量名>;     删除宏变量

删除输入输出格式
PROC DATASETS lib=work;
MODIFY dsn;
FORMAT _all_;
INFORMAT _all_;
RUN;
QUIT;

*work is the library name;
*mention the name of the SAS dataset, whose formats and informats needs to be removed in the MODIFY statement;
* format _all_ will delete all the formats in the SAS dataset.
二维码

扫码加我 拉你入群

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

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

2010-11-30 10:28:42
非常感谢!!!

2# myzhang1982
二维码

扫码加我 拉你入群

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

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

2010-11-30 11:05:11
试了一下,删除宏变量没有问题,但是删除输入输出格式可能不是我的意思,你那种方法只是对数据集变量的格式进行修改;
例如:我用proc format cntlin=a; run;定义了一个输出格式,名称为“fmt_a”。现在想把fmt_a的自定义格式删除,避免被别的误引用,该怎么做?!
多谢了!



2# myzhang1982
二维码

扫码加我 拉你入群

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

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

2010-12-1 07:44:55
yzzhang 发表于 2010-11-30 09:45
大家好,请问下如何删除宏变量和自定义输出输入格式?多谢了!
The local macro variables live with their scopes. You only need to take care of GLOBAL ones. Here is simple one to 'kill' them all.


%let a=a; %let b=b;    %let c=c;
%put >>>&a &b &c<<<;


proc sql noprint;
DESCRIBE TABLE dictionary.macros;
select name into: mvarlist separated by ' '
from  dictionary.macros
where scope ='GLOBAL' and not index(name,'SYS') ;
quit;

%put &mvarlist;

%symdel  &mvarlist     ;
%symdel mvarlist;

%put _all_;
*********************************************************************************
You can use proc catalog to kill all format/informat were defined in a library as,

proc format ;
value $wert
s=1
r=2
other=0
;
run;

  data t1;
    a='s';
    put a $wert.;
run;

proc catalog cat=work.formats kill;
run;

data t1;
    a='s';
    put a $wert.;
run;
二维码

扫码加我 拉你入群

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

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

2010-12-1 09:07:12
非常感谢!祝快乐!
5# bobguy
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群