经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
SAS adv -- 请教
楼主
sas_user
2373
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专版
经管文库(原现金交易版)
金融学(理论版)
行业分析报告
R语言论坛
经管高考
热门文章
几何(第五卷)[法] M. 贝尔热
《寻路集:在全球网络中寻找合适节点 》周其 ...
几何(第四卷)[法] M. 贝尔热
我该如何记住你?智能体记忆系统的演化之路
CDA数据分析脱产就业班于2026年3月7日开班! ...
表格结构数据的核心特征及具象实例解析
伍德里奇计量经济学导论第六版教材PDF
湖南统计年鉴2025(Excel版)
中外历史年代对照表
高效办公—Word零基础教程
推荐文章
2026JG学术冬训营:从Stata初高到Python机器 ...
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群