楼主: kuhasu
17065 100

[问答] SAS水平测试,动脑子一起看看吧,高手入   [推广有奖]

11
hamsik11 发表于 2013-2-20 19:27:30 |只看作者 |坛友微信交流群
kuhasu 发表于 2013-2-20 19:15
a="5+sum(2.1,5.312)"
没在data步里
这么做 是不是复杂了点?

。。。。。。




搞错了  不好意思

使用道具

12
kuhasu 发表于 2013-2-20 19:53:25 |只看作者 |坛友微信交流群
Imasasor 发表于 2013-2-20 19:22
data a(drop=y);
a="5+sum(2.1,5.312)";
%global hello2;
不用一定在宏函数运算中求得值,事实上只要在b=进行数据步运算即可。
不过你那个代码如果sum变成了exp,或者其他什么公式,不还得自己重写代码?

使用道具

13
kuhasu 发表于 2013-2-20 19:54:19 |只看作者 |坛友微信交流群
hamsik11 发表于 2013-2-20 19:27
这么做 是不是复杂了点?

。。。。。。
你要是真的只用let在data步内直接引用变量a的值,那可真是最简单的方法了,呵呵

使用道具

14
Imasasor 发表于 2013-2-20 20:25:29 |只看作者 |坛友微信交流群
data a;
a="5+sum(2.1,5.312)";
call symput("num",_n_);
%macro mac;
data a;
set a;
if _n_=&num then do; b=&hello;
put b;
end;
run;
%mend;
call symput("hello",a);
call execute('%mac');
run;

可是,我这算两个data步了吧
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
webgu + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

15
fishdropstone 发表于 2013-2-20 20:56:27 |只看作者 |坛友微信交流群

使用道具

16
webgu 发表于 2013-2-20 20:59:28 |只看作者 |坛友微信交流群
data 步里套宏。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

17
hamsik11 发表于 2013-2-20 21:35:42 |只看作者 |坛友微信交流群
kuhasu 发表于 2013-2-20 19:54
你要是真的只用let在data步内直接引用变量a的值,那可真是最简单的方法了,呵呵
问题就在sas对宏是先编译后执行上....

使用道具

18
kuhasu 发表于 2013-2-20 21:39:56 |只看作者 |坛友微信交流群
webgu 发表于 2013-2-20 20:59
data 步里套宏。
试试看

使用道具

19
Crsky7 发表于 2013-2-20 22:26:58 |只看作者 |坛友微信交流群
看看谁能解决

使用道具

20
chaixiaoai1106 发表于 2013-2-21 02:14:06 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 04:06