我有一个SAS代码,可以为我的计算创建很多中间表.事情是,工作完成后我并不关心这张桌子,我只关心决赛的结果.
但是,每次我运行这段代码时,SAS都会将所有生成的表添加到我的流程中,将其变成一个巨大的混乱(我在这里谈论的是40多个中间表).
有没有办法告诉SAS不要在流程中添加一些表?或者至少告诉它不要添加任何表格?我正在使用SAS Enterprise Guide 4.1
提前致谢
有什么解决方案可以在我的电脑上没有安装SAS的情况下打开SAS .egp文件吗?我需要打开project.egp来检查我的旧代码,但我不再有SAS了,那么有没有其他方法可以做到这一点?
是否有任何宏命令允许从另一个程序调用一个程序(%run_program()伪代码)?
程序"设置":
%let myvar="HELLO WORLD!";
Run Code Online (Sandbox Code Playgroud)
计划"计划":
%run_program(Settings); *Pseudo-code;
%put &myvar; *Should print *Should print "HELLO WORLD!";
Run Code Online (Sandbox Code Playgroud)

有没有办法改变SAS Enterprise Guide窗口的背景颜色?我花了一个多小时试图找到解决方案,但没有成功.不幸的是,我的眼睛不能再采取白色背景.
提前致谢!
我正在为其他用户编写程序,以便在基于SAS 9.3的企业指南中运行.它将各种信息记录到表中.有没有办法阻止此表出现在流程中?
注意这几乎都是使用"用户编写代码"步骤完成的.不幸的是,菜单中的设置(参见下面的vasja答案)似乎不会影响UWC步骤.
(我已经看到了这个:告诉SAS不要在Process Flow上添加新生成的表,但是我使用9.3,所以它不起作用!)
我正在使用SAS Enterprise Guide 4.1,我的项目包含大量代码.该代码在外部.sas文件中组织,主要是因为.egp文件是二进制和纯文本.sas文件使用git更好.
问题是SAS EG 4.1使用绝对路径来引用外部.sas文件,因此将项目移动到不同的PC会破坏对代码文件的引用(除非其他PC使用相同的目录结构).
有没有办法强制SAS EG 4.1使用相对路径(似乎SAS EG 4.3使用相对路径,但升级不是一个选项).如果没有,是否至少有一种轻松移动项目的聪明方法?
现在,每次我必须移动项目时,我都会将代码嵌入到项目中(这会破坏版本控制).另一种方法是删除项目中的所有引用并重新添加它们(这是很多工作).
我在SAS EG中编写了一段代码,只是打开一个Excel工作簿.Excel工作簿包含在"工作簿打开"事件上执行的VBA代码.所有代码都是如此,它是在每天第一次打开时刷新所有数据连接.
当我手动运行SAS程序时,它完全按计划运行.它打开Excel文件,然后触发VBA宏.但是,当我在我的服务器上安排SAS EG作业时,作业运行但我的Excel文件没有任何反应.我的SAS代码或My Windows Scheduler日志中也没有出现任何错误.
这是我的SAS代码:
options noxwait noxsync;
x '"C:\Program Files\Microsoft Office\Office15\excel.exe" "\\route\to\file\excel_macro_playground.xlsm"';
run;
Run Code Online (Sandbox Code Playgroud)
这是我的VBA:
Private Sub Workbook_Open()
Dim wsSheet As Worksheet
On Error Resume Next
Set wsSheet = Sheets("book_helper")
On Error GoTo 0
If wsSheet Is Nothing Then
Sheets.Add.Name = "book_helper"
ActiveWorkbook.RefreshAll
Sheets("book_helper").Range("A1").Value = Date
Sheets("book_helper").Visible = xlVeryHidden
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.Quit
Else
If Sheets("book_helper").Range("A1").Value < Date Or Sheets("book_helper").Range("A1").Value = "" Then
ActiveWorkbook.RefreshAll
Sheets("book_helper").Range("A1").Value = Date
Sheets("book_helper").Visible = xlVeryHidden
'ActiveWorkbook.Close savechanges:=True
'Application.Quit
Application.DisplayAlerts …Run Code Online (Sandbox Code Playgroud) 是否有一些快捷方式可以在 SAS Enterprise Guide 中注释所选代码?
有 Ctrl + / 注释所选行。但是仅对代码的选定部分进行注释会非常有用。
谢谢。
我们将把我们的 EG 项目(超过 1000 个项目)迁移到新环境。在旧环境中,我们使用“W-Latin”作为 Teradata 数据库上的编码。在新环境中,我们将开始使用“UTF-8”作为 Teradata 数据库的编码。
我认为还有很多其他变化与这个问题无关。
为了防止数据问题,我们必须将 REVERSE 等函数替换为 KREVERSE 等函数。我们可以通过打开所有项目并单击它来更改表达式生成器中的函数来做到这一点。
考虑到我们有超过 1000 个 .egp 文件,这确实非常耗时
我们已经有一个代码扫描器,可以解压缩 .egp 文件并检测 project.xml 文件中这些函数的使用情况。
下一步可能是我们找到并替换这些函数,并将 project.xml 文件放回 .egp 文件中。
谁能告诉我如何将project.xml文件放回到.egp文件中而不损坏.egp文件
在我的主要代码中说我有这个代码块:
%macros hi5;
%put hi five;
%mend;
%macros helloworld;
%put hello world;
%mend;
Run Code Online (Sandbox Code Playgroud)
在SAS Enterprise Guide中,我如何显示这样的内容?(通过日志或通过SAS表)
These are the user defined user macros:
hi5
hello world
Run Code Online (Sandbox Code Playgroud)
(目的是让用户能够知道他们已经可以使用哪些宏).
注意:%put _ALL_唯一列出所有宏变量,而不是宏(例如用%macros and %mend.构建.)