12得票3回答
宏返回值

我创建了以下宏。 Proc power 返回一个包含列 Power 的表 pw_cout。 data _null_ 步骤将pw_out中列 Power 的值赋给宏变量 tpw。 我想让宏返回 tpw 的值,以便在主程序中,我可以像下面这样在 DATA 步骤中调用:data test; s...

11得票5回答
能否循环遍历SAS数据集?

我有60个SAS数据集,其中包含消费者的个人特征数据,例如id、性别、年龄、花费金额...每个数据集仅显示一个时间段的数据(data1是1月份,data2是2月份...)。由于数据大小和其他一些问题,我无法将它们合并。 我该如何编写多重循环以遍历每个数据集,进行一些操作,并将估计值保存到临时...

10得票2回答
为什么我的宏变量无法解析?

我有一个宏变量&myvar,但当我尝试将其放入数据步骤变量中时,它无法解析。为什么会这样,我该怎么办才能解决?%let myvar=Hello, world; data _null_; x='&myvar.'; put x=; run;

10得票1回答
SAS宏和&符号

%let test = one; %let one = two; %put &test; %put &&test; %put &&&test; %put &&&&test; %put &&&amp...

7得票2回答
在SAS宏中更改宏变量的值

我在宏内定义了一个宏变量,然后将其传递到第二个宏中。在macro2中,计数器的值更改为200。但是,当我检查运行macro2之后放入的宏变量中的内容时,它仍然显示为0。我想让它存储值200,这可能吗? %macro macro1(); %let variable1= 0; ma...

7得票8回答
使用SAS宏从Windows目录中导入文件名列表

我正在尝试修改以下宏,以接受一个宏参数作为dir命令的“location”参数。 但是,由于嵌套引号问题,我无法正确解决它。使用%str(%')不起作用,由于某些原因,引用函数也不起作用。 当文件路径没有空格时(例如C:\ temp \ withnospace),该宏将正常工作,因为中间引号...

7得票1回答
在SAS中替换宏变量中的文本

我想将宏变量中的所有句点改为下划线,请问我做错了什么? %let pow=0.1; %let x = %sysfunc(tranwrd(&pow,".","_")); %put x=&x; Output: x=0.1

7得票2回答
SAS 9.3中类似于"For in"循环的语句

我已经搜索了一段时间,试图寻找SAS 9.3宏语言中类似于Python或R中的for in循环等效方法。DO loop似乎是解决方案,但并不完全符合我的要求。 我发现在数据步骤中可以使用DO loop来完成,但它在宏语言中无法工作。 例如,在数据步骤中,以下代码可以正常工作: DATA _N...