Передача значения из Netezza обратно в SAS с использованием макропеременной - PullRequest
0 голосов
/ 10 октября 2018

мы используем 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?

Спасибо!

1 Ответ

0 голосов
/ 10 октября 2018

Вы бы использовали оператор

SELECT <expression> INTO :<macro_var>'

.Это доступно в запросе SQL PROC, но не в сквозном коде, поэтому это будет выглядеть примерно так:

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;

См. Документы здесь: http://support.sas.com/documentation/cdl/en/sqlproc/63043/HTML/default/viewer.htm#n1tupenuhmu1j0n19d3curl9igt4.htm

...