经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
求助一个macro的问题
楼主
winwin2013
1202
3
收藏
2015-12-03
%macro m1(dsn);
%let b = %scan(&dsn,1,',');
%put &b;
%mend m1;
%m1(123,456)
%macro m1(dsn);
%let b = %scan(%str(&dsn),1,',');
%put &b;
%mend m1;
%m1(123,456)
为什么以上两种方法都不能正常打印出b哪?问题在哪里?求教。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
soporaeternus
2015-12-4 10:58:58
复制代码
macro解析的顺序
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
extension
2015-12-4 11:44:41
%m1(123,456)里,SAS把123和456当作两个位置参数了。解决办法是把程序中的分隔符换掉,例如:
%macro m1(dsn);
%let b = %scan(&dsn,1,'|');
%put &b;
%mend m1;
%m1(123|456)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
Tigflanker
2015-12-4 15:16:58
复制代码
你在参数指定的时候,逗号会被认作是参数分隔符。
不过我也不是极其清楚,为什么scan第一位参数有时不用%bquote也可以
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
[求助]有关Macro的一个问题
请教一个Macro 题。。。
请教一个macro的问题
关于macro,题目我都看不太懂
如何用macro实现?
求 SAS Macro 资料
這個macro的邏輯總是搞不明白
请教一个sas中macro的问题 感谢!
讨论两道macro题
发一个SAS RCS的macro
栏目导航
SAS专版
经管高考
金融实务版
LISREL、AMOS等结构方程模型分析软件
R语言论坛
休闲灌水
热门文章
中国金融生成式AI多模态内容鉴伪与安全防御 ...
全球能源转型展望2025—全球和区域预测至20 ...
海外资管机构赴上海投资指南(2025版)
understanding climate change perceptions ...
【全美经典】离散数学
全球能源转型展望2025—全球和区域预测至20 ...
世界机器人2025年报告 World Robotics 2025
甲子光年_2025甲子Cool Vendor人形机器人大 ...
AOM:The Boundaries of Trust in a New Era
气象学-山东大学
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群