宁静的Web服务| 获取报表中使用的查询过滤器

2020-09-10 18:05发布

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

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


嗨,

我想知道是否可以使用RESTful Web服务获取在Webi报表中使用的查询过滤器。

在这里提出了这个问题: https://archive.sap.com/discussions/thread/3890808 #,但没有给出答案。

谢谢

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

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


嗨,

我想知道是否可以使用RESTful Web服务获取在Webi报表中使用的查询过滤器。

在这里提出了这个问题: https://archive.sap.com/discussions/thread/3890808 #,但没有给出答案。

谢谢

付费偷看设置
发送
5条回答
jovirus
1楼-- · 2020-09-10 18:38

我认为此请求返回报告的提示。

我想要的是我们在选择提示值后在查询面板(参见图像)中选择的过滤器。

zhangjiyang1323
2楼-- · 2020-09-10 18:54

好的,谢谢。 但是,正如您在此处看到的,我尝试了一个基本报告:它返回了良好的结果对象,但过滤器中的对象却未显示,"参数"为空。

获取:http://<地址>:<端口>/biprws/raylight/v1/documents//dataproviders/DP0

 {"数据提供者":{
    " id":" DP0",
    "名称":<名称>,
    " dataSourceId":,
    " dataSourceType":" unx",
    "已更新":<日期>,
    "持续时间":0,
    " isPartial":否,
    " rowCount":0,
    " flowCount":1,
    "字典":{
        "表达式":[
          -0:{
             " @qualification":"维度",
             " @dataType":"字符串",
             " id":,
             " name":"邮递区号",
             " dataSourceObjectId":,
             " formulaLanguageId":" [邮政代码]"
          },
          -1:{
             " @qualification":"维度",
             " @dataType":"字符串",
             " id":,
             " name":"部门",
             " dataSourceObjectId":,
             " formulaLanguageId":" [部门]"
          }
       ],
    },
    " query":" SELECT .... FROM ..."
 }
 

获取:http://<地址>:<端口>/biprws/raylight/v1/documents//dataproviders/DP0/parameters

 {
    "参数":""
 } 

我是否必须修改静态Web服务的某些设置以获得与您的响应相同的响应?

Violet凡
3楼-- · 2020-09-10 18:40

这不是答案,而是确认Gerard的断言是正确的:/ .../每个数据提供者的参数请求不返回查询过滤器,仅返回提示(它们恰好显示在WebI的查询面板的同一区域)。

想象一下,您有2个过滤器,其中1个是提示,另一个是静态。 该请求将仅返回提示。

当前,在阅读并重新审视了SDK指南并使用4.2 SP6系统之后,似乎无法像查询过滤器一样简单。 这是一个简单的要求,考虑到如何获取每个报表对象的这么多细节,令人惊讶的是,诸如查询过滤器之类的重要信息不可用,所以我希望有人在这里证明我错了。 >

这很重要,因为人们依赖SDK的一个很常见的原因是获取BO元数据,该元数据要么在审计数据库中不完整,要么在CMS Universe中根本不可用,或者在AdminTools/QueryBuilder的输出中很麻烦。 这样的例子之一就是获取WebI报表中使用的所有对象是如此简单。 没什么好说的,只需告诉我报告中存在哪些对象,因此我不必一一打开300个报告,并为每个查询拍摄每个查询面板的屏幕快照。 REST SDK请求可能是解决此问题的一种方法,但是由于您无法获得查询过滤器,因此最终总会得到不完整的报告图片,因此,目前为止,我想唯一的选择是痛苦的屏幕截图或昂贵的SAP其他产品(信息 管家),我认为您只能通过应用程序(非REST)SDK库来实现。

空代码
4楼-- · 2020-09-10 18:42

获取查询过滤器:

http://<主机>:6405/biprws/raylight/v1/documents//dataproviders//参数

示例:

 <?xml version =" 1.0" encoding =" UTF-8" standalone =" yes"吗?>
 <参数>
  
    0 
   输入年份
   输入年份
   
     
     
      UNIVERSELOV_DS0.DObc 
      2018-07-07T01:10:3​​6.000Z 
      <值>
       <值> 2014 
       <值> 2015 
       <值> 2016 
      
      
       年份
      
     
     <上一页>
      <值> 2016 
     
    
    <值>
     <值> 2016 
    
   
  
 

 

Violet凡
5楼-- · 2020-09-10 18:52

我已经记录了一张票,现在我对此有一个答案:有一种方法可以获取它,但是数据格式只能在XML中接受 。 REST查询是:

"/img/biprws/raylight/v1/documents/00000/dataproviders/DP0/规格"

00000 =报告ID

DP0 =数据提供者ID

这将返回WebI文档中每个查询的所有过滤器和条件。 只是不要忘记根据REST文档将" accept"标头更改为XML。

一周热门 更多>