本站分享:大数据、数据分析师考试认证培训,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训广告位

SAS宏技术中,%let和call symput有什么区别?_call symput的用法

sas培训 cdadata 941℃ 0评论

SAS宏技术中,%let和call symput有什么区别?

sas call symputsas symputcall symput

平时经常使用的宏变量定义方法有三种:
1. %let xxx=yyy; 
2. Call Symput(‘xxx’,’yyy’);
3. select xxx into: yyy.

三种定义方式最大的区别是在MACRO函数内定义所生成的宏变量的类型不同:
Call Symput在宏函数中定义的宏变量可以在函数外调用;而%let和 Select into则不能,因为这2种方法在MACRO函数内生成的是局部宏变量,若要想在MACRO函数外调用,需事先用%global申明变量类型。

%macro test();

data _NULL_;
call symput(‘Today’,put(today(),date9.));
run;

Method 2

%let today=%sysfunc(today(),date9.);

Method 3

data todaydate;
date=today();
Proc sql noprint;
select put(date,date9.) INTO: today
from todaydate

;
quit;
%put &today;
%mend;
%test;

%put &today;

转载请注明:数据分析 » SAS宏技术中,%let和call symput有什么区别?_call symput的用法

喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址