我有一個將用於多個條件的宏。如何在SAS Proc SQL中編寫條件where語句?
%macro Average(data=, tablename=, element=, variablename=, time =);
PROC SQL;
CREATE TABLE &tablename. AS
SELECT ID, AVG(&element.) AS &variablename.
FROM &data.
WHERE date_time < &time or date_time > &time + 1 /*first where condition*/
GROUP BY ID;
QUIT;
%mend;
/*second where condition*/ WHERE &Lower. < date_time < &Upper.
/*third where condition*/ WHERE &BP > 0 and &SP<100
我想把所有這三個語句放在一起放入sql宏而不是複製宏三次。但我怎麼能意識到這一點?
這可行,但我發現這比讀取WHERE條件更難以閱讀,而且難以維護。 – Joe