Я пытаюсь настроить простую функцию R с помощью хранимой процедуры SQL, но не могу заставить ее работать без ошибок.
Вот мой скрипт
CREATE PROCEDURE sp_aggregate (@paramGroup nvarchar(40))
AS
EXECUTE sp_execute_external_script
@language =N'R',
@script=N'
library(dplyr)
data <- data.frame(x = c(1,2,3,4,5,6,7,8,9,10), Country = c("A", "A","A","A","A",
"B", "B", "B", "B", "B"), Class = c("C", "C", "C", "C", "C", "D", "D", "D", "D", "D"))
agg_function <- function(df, column) {
enq_column <- enquo(column)
output <- df %>% group_by(!!enq_column) %>% summarize(total = sum(x))
return(output)
}
OutputDataSet <- as.data.frame(agg_function(df = data, column = paramgroup_var))
'
, @input_data_1 = N''
-- , @input_data_1_name = N'SQL_input'
, @output_data_1_name = N'OutputDataSet'
, @params = N'@paramgroup_var nvarchar(40)'
, @paramgroup_var = @paramGroup;
GO
Выполнить sp_aggregate @paramGroup = Страна
Это ошибка, с которой я сталкиваюсь:
Error in grouped_df_impl(data, unname(vars), drop) :
Column `paramgroup_var` is unknown
Calls: source ... group_by.data.frame -> grouped_df -> grouped_df_impl
Error in execution. Check the output for more information.
Error in eval(ei, envir) :
Error in execution. Check the output for more information.
Calls: runScriptFile -> source -> withVisible -> eval -> eval -> .Call
Execution halted