У меня много проблем со ссылкой на переменную в удаленных сеансах в удаленном сеансе.
Я пытаюсь добиться динамического запроса даты.На данный момент скрипт отлично работает со статическим оператором WHERE.Однако все, что я пытался сделать ссылкой на макропеременную, так или иначе не удавалось.
Это работает:
WHERE SDD LIKE '2018-09%'
Но это не так:
WHERE SDD LIKE '2018-"&monthn."%'
or
WHERE SDD LIKE '2018-"monthn"%'
or
WHERE SDD LIKE %str(%')2018-&monthn.%str(%')
Все предложения приветствуются
Это более или менее соответствующий код:
*-------------------------------------------------------------------;
* LOGIN TO zOS ;
*-------------------------------------------------------------------;
%let zos = ********;
signon zos userid=&userid. password=&passw.;
*-------------------------------------------------------------------;
* PREPARE LOCAL VARIABLES FOR TRANSFER TO REMOTE ;
*-------------------------------------------------------------------;
%SYSLPUT MONTHN = &monthn; /* MONTHN = 11 */
*-------------------------------------------------------------------;
* OPEN CONNECTION, DOWNLOAD FLIGHTS, CLOSE CONNECTION AND SIGNOFF ;
*-------------------------------------------------------------------;
rsubmit; /* REMOTE COMPUTING START */
%PUT &MONTHN; /* GET LOCAL VARIABLES */
----
Many lines of settings up the
wintel/sql connection
----
%SYSLPUT MONTHN = &monthn;
rsubmit;
%PUT &MONTHN; /* GET LOCAL VARIABLES */
proc sql dquote=sas;
create table TKLM1WINTEL as
SELECT *
FROM tables
WHERE SDD LIKE '2018-"&monthn."%'
/* WHERE SDD LIKE '2018-09%' */
PROC download data=TKLM1WINTEL out=DBFILE;
RUN;
endrsubmit;
endrsubmit; /* REMOTE COMPUTING END */
signoff;