Compartilhar via


InputData: dados de entrada para procedimento armazenado SQL: gerador de classe

InputData: gera um Objeto InputData que captura as informações sobre o parâmetro de entrada que é uma estrutura de dados. A estrutura de dados precisa ser preenchida após a execução de uma determinada consulta. Esse objeto é necessário para a criação de procedimentos armazenados nos quais a função R inserida assume um parâmetro de entrada de estrutura de dados.

Uso

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

Argumentos

name

Uma cadeia de caracteres, o nome do parâmetro de entrada de dados na função R fornecida para StoredProcedure.

defaultQuery

Uma cadeia de caracteres que especifica a consulta padrão que recuperará os dados se uma consulta diferente não for fornecida no momento da execução do procedimento armazenado. Deve ser uma consulta SELECT simples.

query

Uma cadeia de caracteres especificando a consulta que será usada para recuperar os dados na próxima execução do procedimento armazenado.

Valor

Objeto InputData

Exemplos


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