私はSAS%MACROステートメントのブロック内にSASマクロ変数を作成する方法が不思議ですか?私のCALL SYMPUTまたは私のSELECT INTOステートメントは、%MACROステートメントのブロック内にあるときには機能していないようです。マクロ内でマクロ変数を作成する方法は?
%MACRO NONDATE_FORMAT_CHECK(varname=,output=);
PROC SQL;
CONNECT TO NETEZZA AS NET
(SERVER=&server
DATABASE=&database
USER=&NBKID
PASSWORD=&NBKPASSWD);
CREATE TABLE WORK.DT_FMT&output AS SELECT *
FROM CONNECTION TO NET
(SELECT 'FORMAT_IS_DATE' AS DT_FMT_INDICATOR
FROM &input_database&input_table
WHERE (SELECT COUNT(*)
FROM &input_database&input_table
WHERE SUBSTR(&varname,1,10) LIKE '____-__-__') > 0
LIMIT 1);
DISCONNECT FROM NET;
QUIT;
PROC SQL;
SELECT DT_FMT_INDICATOR INTO :DT_FMT_CHECK_&varname
FROM WORK.DT_FMT&output;
QUIT;
%MEND NONDATE_FORMAT_CHECK;
ありがとうございます。