Настройка файла project.xml в проекте SAS Enterprise Guide вне SAS EG

Мы собираемся перенести наши проекты EG (более 1000 проектов) в новую среду. В старой среде мы использовали W-Latin в качестве кодировки в базе данных Teradata. В новой среде мы начнем использовать "UTF-8" в качестве кодировки в базе данных Teradata.
И много других изменений, которые, я считаю, не имеют отношения к этому вопросу.

Чтобы предотвратить проблемы с данными, нам придется заменить функции типа REVERSE и т. Д. На KREVERSE и т. Д. Мы могли бы сделать это, открыв все проекты и щелкнув по ним, чтобы изменить функции в построителе выражений.

Это будет очень много времени, учитывая, что у нас более 1000 файлов.egp

У нас уже есть сканер кода, который распаковывает файл.egp и обнаруживает использование этих функций в файле project.xml.

Следующим шагом может быть то, что мы найдем и заменим функции и поместим файл project.xml обратно в файл.egp.

Кто подскажет, как вернуть файл project.xml обратно в файл.egp, не повреждая файл.egp

1 ответ

Решение

Я был в состоянии сделать это.

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;

Затем я добавил узел Query к выводу, чтобы сделать "SUM" столбца r с помощью cat.

Запустил поток и получил ожидаемый результат.

Сохранен проект EG.

Открыл EG Project в 7zip и распаковал архив в локацию.

В project.xml я нашел раздел для запроса и изменил сумму на MEAN

                        <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>

Выбрал файлы и добавил их к достижению с помощью 7zip. Выбрал сжатие "zip" и сохранил файл с расширением ".egp".

Я открыл проект в EG и запустил поток. Результат был теперь СРЕДСТВОМ R, а не СУММОЙ.

Другие вопросы по тегам