我正在尝试在HANA中创建一个使用R代码的过程。因此,我希望计算缺失值。我在R Studio中尝试了R代码,它可以工作:
DROP Table "THESIS"."THESIS_FOLDER::COUNT_MISSING_VALUES";
CREATE Column TABLE "THESIS"."THESIS_FOLDER::COUNT_MISSING_VALUES" (RESULT" INT );
DROP PROCEDURE "THESIS"."ANALYSE_MISSINGDATA";
Create PROCEDURE "THESIS"."ANALYSE_MISSINGDATA" (IN input _SYS_BIC"."THESIS_FOLDER/CA_SAMPLE", OUT OUTPUT_DATA "THESIS"."THESIS_FOLDER::COUNT_MISSING_VALUE" )
LANGUAGE RLANG AS
BEGIN
result<-sapply(input, function(x) sum(is.na(x)))
OUTPUT_DATA<-data.frame(RESULT=result)
END;
Call "THESIS"."ANALYSE_MISSINGDATA"("_SYS_BIC"."THESIS_FOLDER/CA_SAMPLE",?);
但是当我尝试这个时,我收到以下错误: SAP DBTech JDBC:[2048]:列存储错误:搜索表错误:[34084]接收错误:获取结果错误。;失败:找不到对象'output_data'。
有人知道我做错了吗?
感谢。
答案 0 :(得分:1)
错误消息的原因是您以UPPER大小写字母引用输出变量。 查看"SAP HANA R Integration Guide":
过程定义中的变量名称不应包含大写字母。因此,R中的变量名也不应包含大写字母
只需将OUTPUT_DATA<-data.frame(RESULT=result)
更改为output_data<-data.frame(RESULT=result)
,您的代码即可运行。