Dela via


InputParameter: Indataparameter för SQL-lagrad procedur: Klassgenerator

InputParameter: genererar ett InputParameter-objekt som samlar in information om indataparametrarna för den R-funktion som ska bäddas in i en lagrad SQL Server-procedur. Dessa blir indataparametrarna för den lagrade proceduren. R-typer som stöds av indataparametrarna är POSIXct, numeriska, tecken, heltal, logiska och råa.

Användning

  InputParameter(name, type, defaultValue = NULL, defaultQuery = NULL,
  value = NULL, enableOutput = FALSE)

Argument

name

En teckensträng, namnet på indataparameterobjektet.

type

En teckensträng som representerar R-typen för indataparameterobjektet.

defaultValue

Standardvärdet för parametern. Stöds inte för "raw".

defaultQuery

En teckensträng som anger standardfrågan som hämtar data om en annan fråga inte tillhandahålls vid tidpunkten för körningen av den lagrade proceduren.

value

Ett värde som ska användas för parametern i nästa körning av den lagrade proceduren.

enableOutput

Gör detta till en indata-/utdataparameter

Värde

InputParameter-objekt

Exempel


 ## 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 InputData 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", value = "ArrDelayEstimate")
sp_df_df <- StoredProcedure(score1, "sTest", id, model, name,
                       filePath = ".")
## End(Not run)