我想编写一个宏来运行附加 10 个查询的结果,这些查询是我用 SAS 宏代码生成的。
%MACRO APPENDTEST;
PROC SQL;
%DO I = 1 %TO 12
CREATE TABLE WORK.APPENDTEST AS
SELECT t1.OrderID, t2.Name, t3.Product, t1.Date, t1.Units
FROM DVJAYESH.CANDY_SALES_HISTORY t1,
DVJAYESH.CANDY_PRODUCTS t3,
DVJAYESH.CANDY_CUSTOMERS t2
WHERE (t1.ProdID = t3.ProdID AND t1.Customer = t2.CustID)
AND t1.Date BETWEEN CATS('01', %PUT(CATS(&I), $MTH_NAME.), '2003')D AND
CATS('31', %PUT(CATS(&I), $MTH_NAME.), '2003')D
ORDER BY t1.Date, t2.Name, t3.Product;
%END;
QUIT;
%MEND APPENDTEST;
%APPENDTEST;
我收到多个错误。第一个是——A character operand was found in the %EVAL function or %IF condition where a numeric operand is required.
请解释并更正。
仅供参考:我对 SAS 编程非常陌生。我使用 SAS 企业指南