ФОН
У меня есть скрипт, который запускается каждый месяц, создавая набор данных для использования моей командой.Сценарий генерирует наборы данных в моем личном каталоге UNIX, затем я запускаю проверки работоспособности и копирую набор данных в «публичный» каталог, где моя команда может получить к нему доступ.Сценарий стабилен, поэтому больше не нужно запускать проверки работоспособности.
ЧТО ХОЧУ ДЕЛАТЬ
- Извлечь дату последнего изменения из предыдущей версиинабор данных из общей папки (Работает нормально)
- Поменять имя предыдущего набора данных с датой изменения (возникают проблемы)
- Переместите / скопируйте вновь созданный набор данных в общую папку (Работает нормально)
ПОСТАНОВКА ПРОБЛЕМЫ
Я получаю следующую ошибку при попытке изменить имя набора данных
ОШИБКА: Вы не можете переименовать COSTDATA.EMPL_CHAIN.DATA to COSTDATA.EMPL_CHAIN_19SEP18.DATA, поскольку COSTDATA.EMPL_CHAIN.DATA используется вами в среде ресурсов IOM ROOT COMP ENV.
CODE USED
%let dsid2=%sysfunc(open(costdata.empl_chain));
%put ********&dsid2;
%let modte2=%sysfunc(attrn(&dsid2,modte),datetime7.);
%put &modte2;
%let rc=%sysfunc(close(&dsid2));
%put RC Value is &rc;
proc datasets library=costdata;
change empl_chain=empl_chain_&modte2;
run;
SAS LOG
29 %let dsid2=%sysfunc(open(costdata.empl_chain));
30 %put ********&dsid2;
********2
31 %let modte2=%sysfunc(attrn(&dsid2,modte),datetime7.);
32 %put &modte2;
19SEP18
33 %let rc=%sysfunc(close(&dsid2));
34 %put RC Value is &rc;
RC Value is 0
35
36 proc datasets library=costdata;
37 change empl_chain=empl_chain_&modte2;
38 run;
NOTE: Changing the name COSTDATA.EMPL_CHAIN to COSTDATA.EMPL_CHAIN_19SEP18 (memtype=DATA).
ERROR: You cannot rename COSTDATA.EMPL_CHAIN.DATA to COSTDATA.EMPL_CHAIN_19SEP18.DATA because COSTDATA.EMPL_CHAIN.DATA is in use by you in resource environment IOM ROOT COMP ENV.
39
Другая полезная информация:
Я пытаюсь выполнить операцию, аналогичную нескольким наборам данных.Часть переименования отлично работает для первого набора данных, если сеанс SAS EG новый.Это предсказуемо терпит неудачу для второго набора данных вперед.В EG, Инструменты> Параметры> Данные> Общие данные ... флажок «Автоматически открывать данные при добавлении в проект» снят, как предложено SAS.
Мне также известны другие простые приемы, такие как объявлениеновый набор данных с правильным именем в новом шаге данных или с помощью функции 'exchange' в наборе данных proc.Я хотел бы знать, однако, если есть какое-либо решение вышеуказанной ошибки.