Как выполнить% let на SQL сервере - PullRequest
0 голосов
/ 21 марта 2019

У меня есть код в SAS и в нем отношение периодов времени в макросе %LET, и я использую его следующим образом:

%let month_reference = feb19

    proc sql;
    create table sales_v01 as select
    *
    from  sales_&month_reference 
    where sales_code = 99
;run;

Я использую %LET, потому что используется много других таблиц, которым необходимо обновлять эту часть кода ежемесячно, поэтому обновление их вручную будет слишком дорогостоящим для меня.

Однако я перехожу с SAS на RStudio. Я программирую на SQL в RStudio. Мне интересно, как выполнить %LET в этой новой системе.

У меня теперь есть что-то вроде

SALES <- 
"CREATE OR REPLACE TABLE SALES_V01 AS SELECT
*
FROM SALES_FEB19 
WHERE SALES_CODE = 99"

Как я могу заменить FEB19 стандартизированным оператором, который требуется изменять только в одной части кода, а не во всех местах, где он используется? Как я могу сделать эту ссылку в программировании RStudio в SQL?

1 Ответ

0 голосов
/ 21 марта 2019

Если вы используете R для генерации кода SQL для передачи в базу данных, просто используйте обычные манипуляции со строками R.

> month_reference <- "feb19"
> base_code <- "create table sales_v01 as select * from  sales_"
> want_code <- paste(base_code,month_reference,sep="")
> want_code
[1] "create table sales_v01 as select * from  sales_feb19"
> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...