Teilen über


InputData: Eingabedaten für gespeicherte SQL-Prozedur: Klassengenerator

InputData: Generiert ein InputData-Objekt, das die Informationen über den Eingabeparameter erfasst, der ein Datenrahmen ist. Der Datenrahmen muss bei der Ausführung einer bestimmten Abfrage aufgefüllt werden. Dieses Objekt ist für die Erstellung gespeicherter Prozeduren erforderlich, bei denen die eingebettete R-Funktion einen Datenrahmeneingabeparameter akzeptiert.

Verwendung

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

Argumente

name

Eine Zeichenfolge, der Name des Dateneingabeparameters in der R-Funktion, die für StoredProcedure bereitgestellt wird.

defaultQuery

Eine Zeichenfolge, die die Standardabfrage angibt, die die Daten abruft, wenn zum Zeitpunkt der Ausführung der gespeicherten Prozedur keine andere Abfrage bereitgestellt wird. Muss eine einfache SELECT-Abfrage sein.

query

Eine Zeichenfolge, die die Abfrage angibt, die zum Abrufen der Daten in der nächsten Ausführung der gespeicherten Prozedur verwendet wird.

Wert

InputData-Objekt

Beispiele


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