经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
SAS adv -- 请教
楼主
sas_user
2308
8
收藏
2011-01-27
%macro
one(input);
%
two
%put
the value is &date;
%mend
;
%macro
two
;
data _null_;
call symput (
'date'
,
'12SEP2008'
);
run;
%mend
;
%let
date=31DEC2006;
%
one
(&date);
&date 为什么是
'12SEP2008' 而不是31Dec2006?为什么来自global 而不是local symbol table 啊?请高手指教,多谢了。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
camel_wangz
2011-1-27 10:49:02
不懂,帮顶
刚开始看SAS
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
hssnow
2011-1-27 22:33:29
12SEP2008是在宏two的local sample table中啊,31DEC2006是在global中的,SAS macro执行时先从local开始,找不到的话才在global中找的
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
HaiMM01
2011-1-27 22:50:06
我觉得这里只有一个global的宏:date.
call symput ('date','12SEP2008'); 是将date的值从 "31DEC2006" 改写为 "12SEP2008",因此无论是在函数one()中,还是在open code中,date的值都将显示为12SEP2008.
你可以run 一下以下code:
%macro one(input);
%two
%put the value of date in function one is &date;
%mend;
%macro two;
data _null_;
call symput ('date','12SEP2008');
run;
%mend;
%let date=31DEC2006;
%one(&date);
%put the value of date in open code is &date;
两个date显示的值都是一样的
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
HaiMM01
2011-1-28 00:31:50
补充一下,唯一一个local macro是函数one的参数input, call function two时,call symput在local symbol table中找不到macro date, 下一步是查询 global symbol table, 因此date 是global macro
希望表达清楚了
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
sas_user
2011-1-28 00:59:54
非常清楚,太感谢了。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
sas_user
2011-1-28 01:27:32
还想问一下,加了一个local date 在two 里,为什么 2SEP2008 还是没有被赋予给date 呢?
%macro one(input);
%two
%put the value of date in function one is &date;
%mend;
%macro two;
data _null_;
%local date;
call symput ('date','12SEP2008');
%put date in local is &date;
run;
%mend;
%let date=31DEC2006;
%one(&date);
%put the value of date in open code is &date;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
soporaeternus
2011-1-28 09:03:52
7#
sas_user
宏里面的%put放到data步外面来,就是你要的结果
宏是先解析成SAS语句再执行的
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
sas_user
2011-1-28 12:51:09
明白了,多谢。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
关于SAS运用的具体问题!谢谢
[求助] Global &Local symbol tables 的两道题
求助:图中标签的显示?
宏参数传递
sas macro call symput怎么用
问一道adv的题目
数组作为宏变量的调用
这个宏那里出错了?
如何按照symbol匹配相乘
如何根据一列对另一列进行加总?
栏目导航
SAS专版
情感交友
经管文库(原现金交易版)
悬赏大厅
SPSS论坛
统计软件培训班VIP答疑区
热门文章
understanding climate change perceptions ...
【全美经典】离散数学
【同程商旅】中国企业出海差旅研究报告
“十四五”能源发展成就报告
智算无界AIDC的超越和重构2025
2000离散数学习题精解
当社科基础理论重大理论发现的时候
2025年我国医药航空冷链发展现状与趋势展望 ...
中国数字经济规模数据、报告(2005-2023年) ...
是相信人工智能?还是否定人工智能?相信就 ...
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群