Share via


InputData : données d’entrée de procédure stockée SQL : générateur de classes

InputData : génère un objet InputData qui capture les informations relatives au paramètre d’entrée qui est une trame de données. La trame de données doit être remplie lors de l’exécution d’une requête donnée. Cet objet est nécessaire pour la création de procédures stockées dans lesquelles la fonction R incorporée prend un paramètre d’entrée de trame de données.

Utilisation

  InputData(name, defaultQuery = NULL, query = NULL)

Arguments

name

Une chaîne de caractères, le nom du paramètre d’entrée de données dans la fonction R fournie à StoredProcedure.

defaultQuery

Chaîne de caractères qui spécifie la requête par défaut qui récupérera les données si une requête différente n’est pas fournie au moment de l’exécution de la procédure stockée. Doit être une simple requête SELECT.

query

Chaîne de caractères spécifiant la requête qui sera utilisée pour récupérer les données dans l’exécution suivante de la procédure stockée.

Valeur

Objet InputData

Exemples


 ## Not run:

 # See ?StoredProcedure for creating the "cleandata" table.

 # train 1 takes a data frame with clean data and outputs a model
 train1 <- function(in_df) {
   in_df[,"DayOfWeek"] <- factor(in_df[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
   # The model formula
   formula <- ArrDelay ~ CRSDepTime + DayOfWeek + CRSDepHour:DayOfWeek
   # Train the model
   rxSetComputeContext("local")
   mm <- rxLinMod(formula, data=in_df)
   mm <- rxSerializeModel(mm)

   return(list("mm" = mm))
 }
 # create InpuData Object for an input parameter that is a data frame
 # note: if the input parameter is not a data frame use InputParameter object
 id <- InputData(name = "in_df",
                defaultQuery = paste0("select top 10000 ArrDelay,CRSDepTime,",
                                      "DayOfWeek,CRSDepHour from cleanData"))
 # create an OutputParameter object for the variable inside the return list
 # note: if that variable is a data frame use OutputData object
 out <- OutputParameter("mm", "raw")

 # connections string
 conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                  "Trusted_Connection=Yes;")
 # create the stored procedure object
 sp_df_op <- StoredProcedure("train1", "spTest1", id, out,
                        filePath = ".")
 # register the stored procedure with the database
 registerStoredProcedure(sp_df_op, conStr)

 # execute the stored procedure, note: non-data frame variables inside the
 # return list are not returned to R. However, if the execution is not successful
 # the error will be displayed
 model <- executeStoredProcedure(sp_df_op, connectionString = conStr)
 # get the linear model
 mm <- rxUnserializeModel(model$params$op1)
## End(Not run)