次の方法で共有


setInputParameterValue: SQL ストアド プロシージャの入力データ パラメーターに値を代入します

setInputParameterValue: ストアド プロシージャの次の実行時に使用される、ストアド プロシージャまたは埋め込み R 関数の入力パラメーターに値を代入します。

使用方法

  setInputParameterValue(inParam, value)

引数

inParam

R 関数への入力パラメーターの名前である文字列。

value

入力パラメーターにバインドされる値。 注: "raw" 型の入力パラメーターのバインドはサポートされていません。

InputParameter オブジェクト

使用例


 ## Not run:

 # See ?StoredProcedure for creating the `cleandata` table.
 # and ?executeStoredProcedure for creating the `rdata` table.

 # score1 makes a batch prediction given clean data(indata),
 # model object(model_param), and the new name of the variable
 # that is being predicted
 score1 <- function(indata, model_param, predVarName) {
   indata[,"DayOfWeek"] <- factor(indata[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
   # The connection string
   conStr <- paste("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                   "Trusted_Connection=Yes;", sep = "")
   # The compute context
   computeContext <- RxInSqlServer(numTasks=4, connectionString=conStr)
   mm <- rxReadObject(as.raw(model_param))
   # Predict
   result <- rxPredict(modelObject = mm,
                       data = indata,
                       outData = NULL,
                       predVarNames = predVarName,
                       extraVarsToWrite = c("ArrDelay"),
                       writeModelVars = TRUE,
                       overwrite = TRUE)
 }
 # connections string
 conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                  "Trusted_Connection=Yes;")
 # create InpuData Object for an input parameter that is a data frame
 id <- InputData(name = "indata", defaultQuery = "SELECT * from cleanData")
 # InputParameter for the model_param input variable
 model <- InputParameter("model_param", "raw",
                         defaultQuery =
                           "select top 1 value from rdata where [key] = 'linmod.v1'")
 # InputParameter for the predVarName variable
 name <- InputParameter("predVarName", "character")
 sp_df_df <- StoredProcedure(score1, "sTest", id, model, name,
                         filePath = ".")
 # register the stored procedure with a database
 registerStoredProcedure(sp_df_df, conStr)
 # assign a different query to the InputData so that it only uses the firt 10 rows
 id <- setInputDataQuery(id, "SELECT top 10 * from cleanData")
 # assign a value to the name parameter
 name <- setInputParameterValue(name, "ArrDelayEstimate")
 # execute the stored procedure
 model <- executeStoredProcedure(sp_df_df, id, name, connectionString = conStr)
 model$data
## End(Not run)