打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

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

三种定义方式最大的区别是在MACRO函数内定义所生成的宏变量的类型不同:
Call Symput在宏函数中定义的宏变量可以在函数外调用;而%let和 Selectinto则不能,因为这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;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SAS宏
彻底搞懂Python 中的 import 与 from import
我也来说说this,谁说this总指向函数的调用者的
R语言学习笔记 (入门知识)
SIMD函数整理:00 索引贴(2012-07-31更新)
SAS信用评分九步曲之第一步数据清洗
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服