gpt4 book ai didi

sas - 将 SAS 数据列转换为宏变量?

转载 作者:行者123 更新时间:2023-12-02 09:36:23 24 4
gpt4 key购买 nike

如何将 SAS 数据列的输出转换为宏变量?

例如:

Var1 | Var2
-----------
A | 1
B | 2
C | 3
D | 4
E | 5

如果我想要一个包含 Var1 中所有值的宏变量用于 PROC REG 或其他过程怎么办?我如何将该列提取到可在其他 PROCS 中使用的变量中?

换句话说,我想生成等效的语句:

%LET Var1 =

A
B
C
D
E
;

但是我会从之前的过程中得到不同的结果,所以我不能只做一个“%LET”。我一直在探索 SYMPUT 和 SYMGET,但它们似乎只适用于单一观察。

谢谢。

最佳答案

proc sql;
select var1
into :varlist separated by ' '
from have;
quit;

创建 &varlist. 宏变量,由分隔符分隔。如果您不指定分隔符,它会创建一个仅包含最后一行值的变量。

还有很多其他方法,但这是最简单的。例如,CALL SYMPUTX 将执行相同的操作,只是将所有行合并为一个很复杂。

关于sas - 将 SAS 数据列转换为宏变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com