Скажите SAS не добавлять вновь созданные таблицы в поток процессов

У меня есть код SAS, который создает множество промежуточных таблиц для моих вычислений. Дело в том, что я не очень забочусь об этих таблицах после того, как работа завершена, я только забочусь о результатах финала.

Но каждый раз, когда я запускаю этот код, SAS добавляет все сгенерированные таблицы в поток процессов, превращая его в огромный беспорядок (я говорю здесь о 40+ промежуточных таблицах).

Есть ли способ сказать SAS не добавлять некоторые таблицы в поток процессов? Или, по крайней мере, сказать, чтобы не добавлять никаких таблиц вообще? Я использую SAS Enterprise Guide 4.1

Заранее спасибо

Ответ 1

В SAS 9.1.x и 9.2.x(для Windows) возможно подавление отображения наборов данных в клиентских средах SAS путем префикса имени набора данных с помощью "_TO". Таким образом, в вашем коде и/или задачах вы можете называть все ваши исходные наборы данных _TO<DataSetName>, и они не будут загромождать поток процессов. Но они все равно будут там и могут быть указаны в коде и задачах.

Если вы это сделаете, и вы используете задачи, обратите внимание, что было бы сложно разработать, как использовать выходные данные из задачи в качестве ввода для другого, если вы не видите набор данных для его выбора. Если у вас есть проблемы с этим, прокомментируйте эту запись, и мы можем решить эту проблему.

Обратите внимание, что это префикс "_TO" - это недокументированная "скрытая" функция, которая должна быть устарела в 9.3 - см. этот блог для подробности.

Ответ 2

Если вы установите для параметра "Максимальное количество наборов выходных данных для добавления в проект" (в разделе "Общие итоги" ) значение "0", оно не добавит каких-либо наборов данных в проект, но они все равно будут доступны для просмотра из Server → Library view (они будут добавлены в поток в точке, которую вы запрашиваете).

Ответ 3

Я знаю, что этот вопрос уже полтора года, но если вы работаете с промежуточными таблицами, которые можно удалить после получения окончательных результатов, SAS EG имеет встроенный макрос, который вы можете использовать для удаления этих таблиц:

%_eg_conditional_dropds([table1], [table2], ... ,[table-n]);