HANA:创建R过程时出错

时间:2017-07-19 08:45:21

标签: r procedure hana

我正在尝试在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'。

有人知道我做错了吗?

感谢。

1 个答案:

答案 0 :(得分:1)

错误消息的原因是您以UPPER大小写字母引用输出变量。 查看"SAP HANA R Integration Guide"

  

过程定义中的变量名称不应包含大写字母。因此,R中的变量名也不应包含大写字母

只需将OUTPUT_DATA<-data.frame(RESULT=result)更改为output_data<-data.frame(RESULT=result),您的代码即可运行。