0
我想在SAS中編寫一個PROC SQL查詢來確定以特定字母(例如RF *)開頭的許多列的最大值。現有的proc意味着我已經這樣做了。使用proc sql語句找到許多列的最大值
proc means data = input_table nway noprint missing;
var age x y z RF: ST: ;
class a b c;
output out = output_table (drop = _type_ _freq_) max=;
run;
其中列RF:指所有以RF開始的列,對於ST也是如此。我想知道PROC SQL中是否有類似的東西,我可以使用它?
謝謝!
您可能必須使用動態SQL。這裏有一篇關於它的文章:http://support.sas.com/resources/papers/proceedings12/070-2012.pdf – Nicarus
這個聲明是宏的一部分,我多次運行它,所以動態SQL可能會使它更加複雜。除此之外還有其他解決方法嗎? –
我知道在PROC SQL中完成這項工作的唯一方法是將數據標準化(「不轉移」),以使列現在處於行中。這可能不可行,具體取決於您的數據集格式。 – Nicarus