0
有沒有辦法刪除SAS中的一組列,所有匹配一些條件語句?在這種情況下,我想刪除任何具有SUFFIX「_fix」的列SAS - 刪除或輸出列匹配條件上的條件ID
另一種方法是輸出沒有「_fix」的所有列,但這裏的主要問題是,如何對列名執行邏輯?
編輯: 我目前使用的這一點,但它不是最優雅的,我想
proc contents data= your_data_set noprint out= _data_ ; run;
proc sql noprint ;
select name into :list_of_cols separated by ' ' from &syslast
where lowcase(name) like '%_flg' ;
quit;
然後用& list_of_cols
來源:https://communities.sas.com/t5/Base-SAS-Programming/drop-variant/td-p/71230
嘛啊,你前編輯我正在寫你現在的解決方案。這是該問題的常見解決方案。另一種選擇是使用SQL來查詢dictionary.columns,但這不是更優雅(通常效率更低)。我已經看到了很多功能樣式的宏,它們從數據集中返回一個變量列表,您可以像'%put Vars以flag結尾:%varlist(data = mydatasets,suffix = _flg)'調用'。但大多數人不會考慮宏代碼的優雅。 – Quentin
感謝您爲這次麻煩抱歉! :) – Wolfspirit
如果您對命名約定有任何控制,SAS允許基於前綴但不包含後綴的可變快捷方式。如果您可以將其更改爲前綴,則更容易解決。 – Reeza