循环 gsub 以根据 table 值从 hana 中提取
looping a gsub to pull from hana based on a table of values
希望我的标题有意义!如果没有,请随意编辑它。
我在 R 中有一个包含唯一日期的 table。有时这个 table 可能有一个日期,而在其他时候它可能有多个日期。我想将这些唯一日期循环到我创建的 SQL 查询中以提取数据并附加到 px_tbl。我不知道从哪里开始。以下是我到目前为止所拥有的,当我只有 1 个唯一日期时显然有效,但是当 table 包含 2 个日期时它不会拉。
unique_dates_df
DATE
2016-12-15
2017-02-15
2017-03-02
2017-03-09
sqlCMD_px <- 'SELECT *
FROM "_SYS_BIC"."My.Table/PRICE"
(\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'
sqlCMD_px <- gsub("%D", unique_dates_tbl, sqlCMD_px)##<- the gsub is needed
so that the dates are formatted correctly for the SQL pull
px_tbl <- sqlQuery(myconn, sqlCMD_px)
我相信应用函数可以以一种或另一种形式工作,但我还没有弄明白。感谢您的帮助!
这应该有效:
#SQL command template
sqlCmdTemp <- 'SELECT *
FROM '_SYS_BIC'.'My.Table/PRICE'
(\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'
#Dates as character
unique_dates <- c("2017-03-08","2017-03-09", "2017-03-10")
#sapply command
res<-sapply(unique_dates, function(d) { sqlQuery(conn, gsub("%D",d,sqlCmdTemp))},simplify=F)
#bind rows
tbl.df<-do.call(rbind,res)
希望我的标题有意义!如果没有,请随意编辑它。
我在 R 中有一个包含唯一日期的 table。有时这个 table 可能有一个日期,而在其他时候它可能有多个日期。我想将这些唯一日期循环到我创建的 SQL 查询中以提取数据并附加到 px_tbl。我不知道从哪里开始。以下是我到目前为止所拥有的,当我只有 1 个唯一日期时显然有效,但是当 table 包含 2 个日期时它不会拉。
unique_dates_df
DATE
2016-12-15
2017-02-15
2017-03-02
2017-03-09
sqlCMD_px <- 'SELECT *
FROM "_SYS_BIC"."My.Table/PRICE"
(\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'
sqlCMD_px <- gsub("%D", unique_dates_tbl, sqlCMD_px)##<- the gsub is needed
so that the dates are formatted correctly for the SQL pull
px_tbl <- sqlQuery(myconn, sqlCMD_px)
我相信应用函数可以以一种或另一种形式工作,但我还没有弄明白。感谢您的帮助!
这应该有效:
#SQL command template
sqlCmdTemp <- 'SELECT *
FROM '_SYS_BIC'.'My.Table/PRICE'
(\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'
#Dates as character
unique_dates <- c("2017-03-08","2017-03-09", "2017-03-10")
#sapply command
res<-sapply(unique_dates, function(d) { sqlQuery(conn, gsub("%D",d,sqlCmdTemp))},simplify=F)
#bind rows
tbl.df<-do.call(rbind,res)