データセットでの要約操作を実行するためのマクロを作成しようとしています。SASで条件付きで連結されました
このマクロは、いくつかの変数を取り込む:
- 下限日付(=
'01Jan2013'd
開始) - 上限日付(端=
'01Jan2016'd
) - 追加 'と' 条件(時々
''
、時々'and state = XXX'
)
これらの変数は、以下のマクロのwhereステートメントに入力されます。時には 'と'の条件があり、時にはまったくまったくないことに注意してください。
%macro program1(start,end,cond); %macro _(); %mend _;
proc summary data = data1 nway missing;
where &start. < month < &end. || &cond.;
class month_inc;
var var1 var2;
output out =summ_data1 sum=;
run;
%mend;
マクロ変数がwhereステートメントで正しく機能するようになっています。 ||
は機能しません。
私はそうのようなCATXを使用しようとしました:
where catx(' ',&start. le month_inc le &end.,&cond.);
そして、その分動作します。 &start.
と&end.
変数は、SASの日付ではなく数値として解決されるため、結果が正しく集計されません。
をおかげで、トム、あなたの構文の作品が、日付が正しく動作していません。 2013年までの日付範囲のデータ行がまだ取得されています – Wolfspirit
このタイプの問題については、問題を説明するためのサンプルデータを提供する必要があります。データと予想される結果を入力します。 – Tom
それは問題ない、解決されました。ありがとう@トム:) – Wolfspirit