【发布时间】:2018-10-10 18:26:49
【问题描述】:
我们使用的是 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 中的宏变量?
谢谢!
【问题讨论】:
-
SAS 刚刚在此处发布了有关此主题的帖子:communities.sas.com/t5/SAS-Communities-Library/…
-
需要明确的是,SAS 不会将宏变量传递给 Teradata。 SAS
connection to向 Teradata 发送 (dbms-query)。在这种情况下,查询是动态生成的,只要首先解析宏变量即可。一个微妙但重要的区别。 -
酷。我可以使用哪些功能将输出限制为第一行?它不喜欢“limit 1”或 max() 或“group by”。它也不喜欢 trim()。什么有效?