Скажите SAS не добавлять новые сгенерированные таблицы в поток процессов - PullRequest
10 голосов
/ 19 апреля 2011

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

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

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

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

Ответы [ 3 ]

7 голосов
/ 20 апреля 2011

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

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

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

6 голосов
/ 11 сентября 2013

Если установить параметр «Максимальное количество выходных наборов данных для добавления в проект» (в разделе «Общие результаты») на ноль, он не будет добавлять наборы данных в проект, но они все равно будут доступны для просмотра изСервер -> Вид библиотеки (они будут добавлены в поток в том месте, где вы их запрашиваете).

5 голосов
/ 24 октября 2012

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

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