![]() |
1
3
我不会肯定地说这是不可能的,但我可以报告说,我前一段时间试图做同样的事情,但在同一点上卡住了。我也找不到除了添加
我隐约记得我可以上传
我的动机与你的不同——我在寻找一种方法,在一个会话中定义宏,并在另一个会话中执行它,而不将其保存在自动调用文件夹或
|
![]() |
2
2
首先编译所有自动调用宏。假设您有一个名为MYMACS的fileref,它指向包含源代码的目录。
您可以使用一个程序来搜索所有源文件,以便可以自动生成%include语句。或者可以使用datastep将所有源文件复制到一个临时文件中,并将其包括在内。
然后将工作目录复制到一个新位置。请注意,如果您在应用程序服务器上运行SAS,则名称不同。在这种情况下,请尝试从
您可以通过清除当前的工作宏目录来测试它是否有效,这样您就知道SAS在那里找不到宏,并设置选项以指向已编译宏的新目录。
然后尝试运行一个复制的编译宏。 现在启动一个新会话,并尝试在该会话中使用编译的宏。 |
![]() |
3
2
这是我采用的编译方法(当然有很多替代方法)。要查询的位置可以从以下位置提取:
该方法依赖于用
SAS代码必须是一个程序,因为不能从宏中创建存储的编译宏。
|
![]() |
cacti5 · 包含引号和逗号的SAS宏变量的长度 7 年前 |
![]() |
Clément Hurel · 为什么不考虑宏中的代码? 7 年前 |
![]() |
moodymudskipper · 检索宏定义代码 7 年前 |
![]() |
Konrad · 强制proc export为不存在的变量创建空白列 7 年前 |
![]() |
moodymudskipper · 空间分隔列表交点 7 年前 |
![]() |
Azeem112 · 覆盖/附加sas变量 7 年前 |
![]() |
Allan Bowe · 将自动调用库转换为存储的编译宏 7 年前 |