![]() |
1
3
我不会肯定地说这是不可能的,但我可以报告说,我前一段时间试图做同样的事情,但在同一点上卡住了。我也找不到除了添加
我隐约记得我可以上传
我的动机与你的不同——我在寻找一种方法,在一个会话中定义宏,并在另一个会话中执行它,而不将其保存在自动调用文件夹或
|
![]() |
2
2
首先编译所有自动调用宏。假设您有一个名为MYMACS的fileref,它指向包含源代码的目录。
您可以使用一个程序来搜索所有源文件,以便可以自动生成%include语句。或者可以使用datastep将所有源文件复制到一个临时文件中,并将其包括在内。
然后将工作目录复制到一个新位置。请注意,如果您在应用程序服务器上运行SAS,则名称不同。在这种情况下,请尝试从
您可以通过清除当前的工作宏目录来测试它是否有效,这样您就知道SAS在那里找不到宏,并设置选项以指向已编译宏的新目录。
然后尝试运行一个复制的编译宏。 现在启动一个新会话,并尝试在该会话中使用编译的宏。 |
![]() |
3
2
这是我采用的编译方法(当然有很多替代方法)。要查询的位置可以从以下位置提取:
该方法依赖于用
SAS代码必须是一个程序,因为不能从宏中创建存储的编译宏。
|
![]() |
cs0815 · 默认情况下折叠所有代码单元(sas内核) 7 年前 |
![]() |
DanL · 将导入的文件名捕获到SAS中的变量中 7 年前 |
![]() |
ofzy · 最佳实践-为我的SAS ETL生成RUN\u ID 7 年前 |
![]() |
Raunak Thomas · SAS EG本地提交 7 年前 |