由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - sas macro 问题请教。。
相关主题
如何添加时间变量一个SAS Macro和Append的问题,救助!
请教data mining 的问题,在线等,谢谢!question about using sas macro variable and do loop
请教一个call symput的问题请教sas adv的题
base advance 两证刚刚拿到MACRO求教
用尽心思做好了一个macrohelp. sas macro
一个常见的问题请教一个 SAS macro
How to set initial dataset to zero in a SAS macro?发包子求大牛解SAS问题,急
Help: an I/O ERROR occuredStupid SAS programming style is driving me crazy....
相关话题的讨论汇总
话题: v1话题: macro话题: test话题: count话题: mend
进入Statistics版参与讨论
1 (共1页)
l*****8
发帖数: 483
1
我有一个macro test, 一个dataset, 变量为V1, 如下。
我想在读每行数据的时候, V1里面的值(4,6,7)可以在%test(count) 里得到。 如果用
&test(v1), 那macro里 count的值只是 ‘V1’, 而不是 4。 请问如何能把4 放进去。
非常感谢。
%marcro test(count);
.....
%mend;
v1
4
6
7
s*******e
发帖数: 1385
2
没看懂你要干什么

果用
去。

【在 l*****8 的大作中提到】
: 我有一个macro test, 一个dataset, 变量为V1, 如下。
: 我想在读每行数据的时候, V1里面的值(4,6,7)可以在%test(count) 里得到。 如果用
: &test(v1), 那macro里 count的值只是 ‘V1’, 而不是 4。 请问如何能把4 放进去。
: 非常感谢。
: %marcro test(count);
: .....
: %mend;
: v1
: 4
: 6

s******8
发帖数: 102
3
我想你是吧macro变量和data变量弄混了。V1应该是数据变量,你要把它的值赋给宏变
量。这要看你究竟打算做啥。
比如:
data test;
input v1;
cards;
4
6
;
%test(v1);
run;
如上就会把4,6传给count。只是不知你宏内要怎样用
count的值,以及产生啥结果。
l*****8
发帖数: 483
4
当我用 %test(v1)的时候, macro 里 &count的值不是 v1的值4,6,7, 而是字母串 ”
V1"。
我的问题就是如何把 4,6,7 带到 macro里, 然后 macro 用 4.6,7来进行其他的运
算。

ta test;
input v1;
cards;
4
6
;
%test(v1);
run;
如上就会把4,6传给count。只是不知你宏内要怎样用.

【在 s******8 的大作中提到】
: 我想你是吧macro变量和data变量弄混了。V1应该是数据变量,你要把它的值赋给宏变
: 量。这要看你究竟打算做啥。
: 比如:
: data test;
: input v1;
: cards;
: 4
: 6
: ;
: %test(v1);

D******n
发帖数: 2836
5
这样扭扭捏捏,人家是很难回答你问题的。如果你不想人家知道你问题所可能暴露的秘
密信息,你就要花点努力,造出一个跟你问题相仿的而重要信息又被替换掉的例子。就
这样。
一个评判标准就是,人家copy你得code,到sas下面,可以run.

果用
去。

【在 l*****8 的大作中提到】
: 我有一个macro test, 一个dataset, 变量为V1, 如下。
: 我想在读每行数据的时候, V1里面的值(4,6,7)可以在%test(count) 里得到。 如果用
: &test(v1), 那macro里 count的值只是 ‘V1’, 而不是 4。 请问如何能把4 放进去。
: 非常感谢。
: %marcro test(count);
: .....
: %mend;
: v1
: 4
: 6

P****D
发帖数: 11146
6
出现这种说明你的宏写的有问题。写得对的宏,本来就应该是把V1的值4,6,7传过去。

【在 l*****8 的大作中提到】
: 当我用 %test(v1)的时候, macro 里 &count的值不是 v1的值4,6,7, 而是字母串 ”
: V1"。
: 我的问题就是如何把 4,6,7 带到 macro里, 然后 macro 用 4.6,7来进行其他的运
: 算。
:
: ta test;
: input v1;
: cards;
: 4
: 6

l*****8
发帖数: 483
7
对不起各位, 我没解释清楚, 下面是个例子, 如果读第一个数据4, macro要重复写
4 遍 put '123', 然后读6,重复写6遍 put '123'. 以此类推。。。
谢谢。
%macro test(count);
%do i=1 %to &count;
put '123';
%end;
%mend;
data aaa;
input v1;
cards;
4
6
7
;
data bbb;
set aaa;
%test(v1);
run;
b******e
发帖数: 445
8
%let vi=4;
s*********e
发帖数: 1051
9
there is an error in your code.
here is the solution.
%macro test(count);
%do i=1 %to &count;
%put '123';
%end;
%mend;
data aaa;
input v1;
cards;
4
6
7
;
data bbb;
set aaa;
call execute('%test('||v1||');');
run;
l*****8
发帖数: 483
10
非常感谢楼上几位。。

【在 s*********e 的大作中提到】
: there is an error in your code.
: here is the solution.
: %macro test(count);
: %do i=1 %to &count;
: %put '123';
: %end;
: %mend;
: data aaa;
: input v1;
: cards;

s*********e
发帖数: 1051
11
包子

【在 l*****8 的大作中提到】
: 非常感谢楼上几位。。
l*****8
发帖数: 483
12
谢谢。
转帐完成
转给用户:statcompute,现金(伪币):100,收取手续费:1.00

【在 s*********e 的大作中提到】
: 包子
1 (共1页)
进入Statistics版参与讨论
相关主题
Stupid SAS programming style is driving me crazy....用尽心思做好了一个macro
Need advice on SAS macro debugging一个常见的问题
请教如何写这个sas代码?How to set initial dataset to zero in a SAS macro?
[SAS]怎么快捷地删除Macro 里创建的临时dataset和macro variabHelp: an I/O ERROR occured
如何添加时间变量一个SAS Macro和Append的问题,救助!
请教data mining 的问题,在线等,谢谢!question about using sas macro variable and do loop
请教一个call symput的问题请教sas adv的题
base advance 两证刚刚拿到MACRO求教
相关话题的讨论汇总
话题: v1话题: macro话题: test话题: count话题: mend