0
%let CHECK_DATE = %sysfunc(SUM(&end_of_period.,1),yymmdd10.);
proc sql;
select * from table1
where Source_Date < input(&CHECK_DATE.,yymmdd10.);
quit;
& CHECK_DATEは、 '2015-12-31'の形式の日付マクロです。PROC SQLのWHERE文でマクロを使用するには?
Source_Dateは、SASの日付の値です。
このコードを実行しようとするとこのエラーが発生します。私はあなたがINPUT()
関数に渡すことを文字通りあなたのキャラクターの周りに引用符を入れていないからといって、それがあると仮定し、なぜ...
_
22
_
200
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant,
a missing value, (, +, -, BTRIM, CALCULATED, CASE, EXISTS, INPUT, NOT, PUT, SUBSTRING, TRANSLATE, USER, ^, ~.
ERROR 200-322: The symbol is not recognized and will be ignored.
_
22
76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND, BETWEEN,
CONTAINS, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE, LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.
ERROR 76-322: Syntax error, statement will be ignored.
私はそこに 'FROM'ステートメントのテーブルがあるとしますか?それ以外の場合は、 ''2015-12-31''が'&check_Date'の内容を正確に(引用符で囲んで)仮定すると、あなたのコードに特に問題はありません。 – Joe
はい、テーブル名があります。私がペーストしていたとき、それは途切れてしまった。しかし、テーブル名を指定しても、私は実行時にエラーが発生します。 ログをチェックすると、&CHECK_DATEには値が表示されません。 ITはちょうど&CHECK_DATEと言う。 %put&CHECK_DATEも試しました。内部に値があるかどうかを確認します。 – TorontoUser
完全なコードを投稿してログしてください。 – Reeza