在SAS外部的SAS Enterprise Guide项目中调整project.xml文件,例如

在SAS外部的SAS Enterprise Guide项目中调整project.xml文件,例如,sas,migration,enterprise-guide,Sas,Migration,Enterprise Guide,我们将把我们的EG项目(超过1000个项目)迁移到一个新的环境中。 在旧环境中,我们在Teradata数据库上使用“W-Latin”作为编码。 在新环境中,我们将开始在Teradata数据库上使用“UTF-8”作为编码。 还有很多我认为与这个问题无关的其他变化 为了防止数据问题,我们必须用KREVERSE等替换REVERSE等函数 我们可以通过打开al项目并单击它来更改expression builder中的函数来实现这一点 考虑到我们有1000多个.egp文件,这将非常耗时 我们已经有了一个代

我们将把我们的EG项目(超过1000个项目)迁移到一个新的环境中。 在旧环境中,我们在Teradata数据库上使用“W-Latin”作为编码。 在新环境中,我们将开始在Teradata数据库上使用“UTF-8”作为编码。
还有很多我认为与这个问题无关的其他变化

为了防止数据问题,我们必须用KREVERSE等替换REVERSE等函数 我们可以通过打开al项目并单击它来更改expression builder中的函数来实现这一点

考虑到我们有1000多个.egp文件,这将非常耗时

我们已经有了一个代码扫描程序,可以解压.egp文件,并检测project.xml文件中所有这些函数的使用情况

下一步可能是找到并替换函数,然后将project.xml文件放回.egp文件中

谁能告诉我如何将project.xml文件放回.egp文件而不损坏.egp文件

我能够做到这一点

tl;dr--将文件压缩备份并将扩展名更改为.egp

创建了一个新的EG项目,并添加了一个代码节点来创建示例数据:

data test;
do cat = "A", "B", "C";
    do i=1 to 10;
        r = rannor(123);
        output;
    end;
end;
drop i;
run;
然后,我在输出中添加了一个查询节点,以便通过cat对r列进行“求和”

运行流并获得预期的输出

拯救了EG项目

在7zip中打开EG项目,并将归档文件解压缩到某个位置

在project.xml中,我找到了用于查询的部分,并将总和更改为MEAN


LHS_函数
数字的
RHS_柱
数字的
卑鄙
OPTYPE_NOTSET
R
选择文件并使用7zip将其添加到实现中。选择“zip”压缩并以“.egp”扩展名保存文件


我在EG中打开项目并运行流程。现在输出是R的平均值,而不是总和。

Hi!到目前为止你试过什么?压缩文件备份是我首先要做的,你试过了吗?-解压缩文件,手动调整project.xml文件,替换旧的project.xml,压缩以前压缩文件中的所有文件,将压缩文件重命名为.egpThnx。我们只是错过了一步。我们使用7z(默认值)作为zip编码。通过使用“.zip”,现在可以打开SAS EG项目。
                        <Expression>
                            <LHS_TYPE>LHS_FUNCTION</LHS_TYPE>
                            <LHS_DMCOLGROUP>Numeric</LHS_DMCOLGROUP>
                            <RHS_TYPE>RHS_COLUMN</RHS_TYPE>
                            <RHS_DMCOLGROUP>Numeric</RHS_DMCOLGROUP>
                            <InFormat />
                            <LHS_String>MEAN</LHS_String>
                            <LHS_Calc />
                            <OutputType>OPTYPE_NOTSET</OutputType>
                            <RHS_StringOne>r</RHS_StringOne>
                            <RHS_StringTwo />
                        </Expression>