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

问问题描述

SAS宏技术中,%let和call 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 3data todaydate;date=today();Proc sql noprint;select put(date,date9.) INTO: todayfrom todaydate;quit;%put &today;%mend;%test;%put &today;

本文来自作者[立马观花]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1234459.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 立马观花
    立马观花 2026年09月30日

    我是公众科技网的签约作者“立马观花”!

  • 立马观花
    立马观花 2026年09月30日

    希望本篇文章《SAS宏技术中,%let和call symput有什么区别》能对你有所帮助!

  • 立马观花
    立马观花 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 立马观花
    立马观花 2026年09月30日

    本文概览:平时经常使用的宏变量定义方法有三种: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();d

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们