InputParameter: parámetro de entrada para el procedimiento almacenado de SQL: Generador de clases
InputParameter
: genera un objeto InputParameter que captura la información sobre los parámetros de entrada de la función que se va a insertar en el procedimiento almacenado de SQL Server. Estos se convertirán en los parámetros de entrada del procedimiento almacenado. Los tipos de R admitidos de los parámetros de entrada son POSIXct, numeric, character, integer, logical y raw.
Uso
InputParameter(name, type, defaultValue = NULL, defaultQuery = NULL,
value = NULL, enableOutput = FALSE)
Argumentos
name
Cadena de caracteres, el nombre del objeto de parámetro de entrada.
type
Cadena de caracteres que representa el tipo R del objeto de parámetro de entrada.
defaultValue
Valor predeterminado del parámetro. No se admite para "raw".
defaultQuery
Cadena de caracteres que especifica la consulta predeterminada que recuperará los datos si no se proporciona una consulta diferente en el momento de la ejecución del procedimiento almacenado.
value
Valor que se usará para el parámetro en la ejecución siguiente del procedimiento almacenado.
enableOutput
Convierte esto en un parámetro de entrada/salida
Value
Objeto InputParameter
Ejemplos
## 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", value = "ArrDelayEstimate")
sp_df_df <- StoredProcedure(score1, "sTest", id, model, name,
filePath = ".")
## End(Not run)