使用@prompt返回Webi自由SQL报表中的多个行

2020-08-31 08:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个使用此"免费" SQL的webi报告:

选择*
 来自(
   SELECT @Prompt('Select TX','A',{'Heart Transplant','Kidney Transplant','Liver Transplant'},multi,CONSTRAINED,Persistent ,, User:2)tx_type
   从双
 )

在进行解析时,如果选择了多个值,它将返回错误:

发生以下数据库错误:ORA-00907:缺少右括号。
  有关此错误的信息,请参考SAP知识库
 SAP支持门户网站上的文章2054721。  (IES 10901)(错误:INF)

如果选择了多个值,该函数实际返回什么? 数组? 用逗号分隔的字符串? 有没有一种方法可以返回两行的列(在我的示例中)?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个使用此"免费" SQL的webi报告:

选择*
 来自(
   SELECT @Prompt('Select TX','A',{'Heart Transplant','Kidney Transplant','Liver Transplant'},multi,CONSTRAINED,Persistent ,, User:2)tx_type
   从双
 )

在进行解析时,如果选择了多个值,它将返回错误:

发生以下数据库错误:ORA-00907:缺少右括号。
  有关此错误的信息,请参考SAP知识库
 SAP支持门户网站上的文章2054721。  (IES 10901)(错误:INF)

如果选择了多个值,该函数实际返回什么? 数组? 用逗号分隔的字符串? 有没有一种方法可以返回两行的列(在我的示例中)?

付费偷看设置
发送
4条回答
1楼-- · 2020-08-31 08:49

您是否有机会使用/调整Universe,从而避免一起使用徒手的SQL?
这将解决"多提示"问题。

但是如果您必须使用Freehand-SQL,您可以不使用以下SQL代码吗?

这应该取消一个结果行(避免出现有关没有查询结果的错误消息),并且提示应在报表本身内显示给WEBI公式编辑器。

从双重选择1 
@Prompt('Select TX','A',{'Heart Transplant','Kidney Transplant','Liver Transplant'},multi,CONSTRAINED,Persistent ,, User:2 )tx_type FROM dual)IN('') UNION ALL
从双重
选择2
 
 
Alawn_Xu
2楼-- · 2020-08-31 08:57

您好,您找到解决方案了吗? 我正面临类似的问题

当学会了学习
3楼-- · 2020-08-31 09:00

例如,您可能必须在Oracle中编写自己的小程序/函数来解析/序列化MULTI @Prompt。

也许其他 有更好的主意吗?

闻人可可
4楼-- · 2020-08-31 08:50

是否可以序列化多个值? 我真正需要的(我应该正确表达问题的意思)是对多个值进行LIKE,其中提示输入值:

-Episode_name列以name开头,但包含多余的信息
 -例如 心脏移植-mm/dd/yyyy或肾脏移植-lorem ipsum
 SELECT Episode_name
 从第集
 -使用正则表达式测试多个值;  episode_name应该以所需的值开头
 -regexp_like(Episode_name,'^(Heart Transplant | Kidney Transplant)'))
 -以某种方式序列化@prompt; 使用" |" 作为分隔符
 在哪里regexp_like(episode_name,'^(@ Prompt('Select TX','A',{'Heart Transplant','Kidney Transplant','Liver Transplant'},multi,CONSTRAINED,Persistent ,, User:2))'  )

一周热门 更多>