Delen via


InputParameter: Invoerparameter voor opgeslagen SQL-procedure: Klassegenerator

InputParameter: genereert een InputParameter-object, waarmee de informatie wordt vastgelegd over de invoerparameters van de R-functie die moet worden ingesloten in een opgeslagen SQL Server-procedure. Deze worden de invoerparameters van de opgeslagen procedure. Ondersteunde R-typen van de invoerparameters zijn POSIXct, numeriek, teken, geheel getal, logisch en onbewerkt.

Gebruik

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

Argumenten

name

Een tekenreeks, de naam van het invoerparameterobject.

type

Een tekenreeks die het R-type van het invoerparameterobject vertegenwoordigt.

defaultValue

Standaardwaarde van de parameter. Niet ondersteund voor 'raw'.

defaultQuery

Een tekenreeks die de standaardquery opgeeft waarmee de gegevens worden opgehaald als er op het moment van uitvoering van de opgeslagen procedure geen andere query wordt opgegeven.

value

Een waarde die wordt gebruikt voor de parameter in de volgende uitvoering van de opgeslagen procedure.

enableOutput

Maak hiervan een invoer-/uitvoerparameter

Waarde

InputParameter-object

Voorbeelden


 ## 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)