تطهير المكتبة التي يتم استخدامها لتخزين ماكرو SAS جمعتها

StackOverflow https://stackoverflow.com/questions/1629999

  •  06-07-2019
  •  | 
  •  

سؤال

ولدي البرنامج الذي يخلق ماكرو جمعت المخزنة في المكتبة باستخدام بناء الجملة:

options mstored sasmstore=MyLib; 
%macro MyMac() /store source des='My Macro'; 
  %let x=1;
%mend;

ولكن لا أستطيع أن يبدو لإعادة تعيين-مكتبتي (MyLib) بعد ذلك - أحصل على الرسالة التالية (ساس 9.1.3):

ERROR: Unable to clear or re-assign the library MYLIB because it is still in use.
ERROR: Error in the LIBNAME statement.

ويمكن لأي شخص تقديم المشورة؟

هل كانت مفيدة؟

المحلول

في SAS 9.3 أو أعلى، يمكنك الآن مسح libref استخدام في ٪ بيان SYSMSTORECLEAR .

نصائح أخرى

والجواب باختصار - أنا لا أعتقد أنك تستطيع في الدورة SAS نفس .

وأنت لا يمكن مسح libref لأن كتالوج الكلي (SASMACR) لا يزال مفتوحا. فإنه يبقى مفتوحا لأنه يأخذ الموارد لفتح وإغلاق الخدمات وSAS يفترض أن وحدات الماكرو جمعت تسير للسرعة في وظائف الإنتاج وكما مفاضلة، وتفقد بعض القدرات الديناميكية. يجب أن تكون مغلقة قبل أن تتمكن من مسح libref جميع الموارد. منذ SASMACR يبقى في الاستخدام (وقصيرة من اختتام الدورة لا يبدو أن يكون وسيلة لإغلاقه)، هناك يكون أي وسيلة لمسح libref.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top