我们正在使用SAS 7.13 HF1(7.100.3.5419)(64位)
我目前正在看一则帖子,该帖子显示了如何将值从SAS传递到您要连接的数据库。这是下面的例子。您可以看到它们采用了宏变量StartDate,并将其传递给Teradata以在查询中使用。
%let StartDate = 2016/01/01;
proc sql;
connect to teradata
(BULKLOAD=YES MODE=TERADATA user=&user. Password=&passwd.);
CREATE TABLE WorkTest.test AS
select * from connection to teradata
(
SELECT
TOP 10 *
FROM SomeCalendarData
WHERE SomeDate = %bquote('&StartDate.');
);
quit;
我想走另一条路。
如何从类似的查询中读取值,只有我的数据库是Netezza,然后以某种方式将其传递给SAS中的宏变量?
谢谢!
答案 0 :(得分:2)
您将使用
SELECT <expression> INTO :<macro_var>'
声明。这在PROC SQL查询中可用,但在传递代码中不可用,因此看起来像
proc sql;
connect to teradata
(BULKLOAD=YES MODE=TERADATA user=&user. Password=&passwd.);
select somedate into :my_macro_var from connection to teradata
(
SELECT somedate
FROM SomeCalendarData
WHERE id = 101;
);
quit;
在此处查看文档:{{3}}