Webi报告帮助

2020-08-26 15:11发布

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

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


专家您好,

我正在将Deski报告转换为Webi报告。 Deski报告具有自定义的全局过滤器,即基于使用字段b和c的条件的字段A. 在这种情况下,全局过滤器不会过滤Deski中特定报告中的行,而是将字段A的LoV传递给Deski报告。

如果我创建一个与全局过滤器条件匹配的变量并将其传递给Webi中的报表过滤器,则它将过滤整行,因为它成为多维数据集的一部分,而不是将经过过滤的LoV返回给报表中的同一字段。

我尝试在Webi中创建两个名为DP1和DP2的数据提供程序。 DP2只是DP1的副本,但具有一个条件,该条件为我提供了需要应用于具有DP1字段的报告块的值列表。 现在,我想根据属于DP2的字段中的LoV来过滤包含DP1中的字段的数据表。

任何帮助将不胜感激。 谢谢。

此致

Vino

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

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


专家您好,

我正在将Deski报告转换为Webi报告。 Deski报告具有自定义的全局过滤器,即基于使用字段b和c的条件的字段A. 在这种情况下,全局过滤器不会过滤Deski中特定报告中的行,而是将字段A的LoV传递给Deski报告。

如果我创建一个与全局过滤器条件匹配的变量并将其传递给Webi中的报表过滤器,则它将过滤整行,因为它成为多维数据集的一部分,而不是将经过过滤的LoV返回给报表中的同一字段。

我尝试在Webi中创建两个名为DP1和DP2的数据提供程序。 DP2只是DP1的副本,但具有一个条件,该条件为我提供了需要应用于具有DP1字段的报告块的值列表。 现在,我想根据属于DP2的字段中的LoV来过滤包含DP1中的字段的数据表。

任何帮助将不胜感激。 谢谢。

此致

Vino

付费偷看设置
发送
5条回答
奄奄一息的小鱼
1楼-- · 2020-08-26 15:44

汤姆,你好

感谢您的回复。 NoFilter()函数适用于度量,但是我的问题是尺寸数据。

要进一步解释该问题,请在Deski中查看下表数据,无需任何过滤器

以下每个屏幕截图的全局过滤器将应用于报告。 如下所示,对全局过滤器中的"所有SSC首选条件"应用了一个条件。

然后,将生成的LoV传递回"所有SSC首选术语"字段,并根据"所有SSC首选术语"字段过滤数据,但是用于获取LoV的条件对报告中的实际数据没有任何影响。 因此,下表中过滤了与"恶性肿瘤进展"相关的所有记录

在Webi中,我们创建了一个变量来描述Deski全局过滤器中使用的相同条件,并将其应用于报表查询,但这实际上过滤了表中的记录。 我想要的实际上是将LoV传递回现场,就像Deski的工作方式一样。

结果输出如下所示。 您现在可以看到区别。 这是因为所有变量都成为多维数据集的一部分。

无论如何,是否有创建经过筛选的LoV并将其传递回字段的方式,就像在Deski中一样?

希望上面详细说明了这个问题。

此致

Vino

昵称总是被占用
2楼-- · 2020-08-26 15:46

嗨,Vino,

提到创建与条件匹配的变量时,您是在说报表变量而不是查询过滤器,对吗? 在表块中使用NoFilter()函数会发生什么?

关于

Tom

浮生未央
3楼-- · 2020-08-26 16:02

嗨,Vino,

< p>是,NoFilter()函数仅适用于小节。

我认为您将只能在查询级别解决此问题,即创建两个查询,在其中您将第一个查询的结果用作第二个查询的(全局)过滤器。

选项1)

构建您的第一个查询,以将"所有SSC高级术语"上的结果集限制为"用药错误,产品使用错误和问题NEC"和"产品管理" 错误和问题",即

 SELECT
   Table.All_SSC_High_Level_Term
 从
   表
 哪里
   (
    Table.All_SSC_Preferred_Term = Table.Event_PT
    和
    Table.CMQ_AE_Level_01 ='是'
   )

然后使用基于"另一个查询的结果"的过滤器构建第二个查询:

 SELECT
   Table.All_SSC_High_Level_Term,
   Table.All_SSC_Preferred_Term,
   Table.CMQ_AE_Level_01,
   Table.Event_PT
 从
   表
 哪里
   Table.All_SSC_High_Level_Term IN("药物错误,产品使用错误和问题NEC","产品管理错误和问题")

这将为您提供所需的结果,而无需在报告级别应用任何其他过滤器。

选项2)

构建与选项1相同的第一个查询,并构建没有任何查询过滤器的第二个查询,即

 SELECT
   Table.All_SSC_High_Level_Term,
   Table.All_SSC_Preferred_Term,
   Table.CMQ_AE_Level_01,
   Table.Event_PT
 从
   表格

生成结果集后,请使用从第二个查询生成的维度来构建表格块。 然后将[查询1]。[所有SSC高级术语]与[查询2]。[所有SSC高级术语]合并,然后将[查询2]。[所有SSC高级术语]替换为[查询1]。[所有SSC 高阶字词]。

您将获得理想的结果。 如果您不希望将查询2维替换为查询1维,请使用= [查询1]创建一个变量。[所有SSC高级术语] = [查询2]。[所有SSC高级术语]并将其添加到 表块,然后隐藏变量。 同样,表中的结果集将根据您的第一个查询的SSC高级术语值进行过滤。

我希望这将有助于将DeskI报告转换为WebI。

另外,我强烈建议您阅读从桌面智能转换为Web Intelligence

亲切的问候,

Tom

Nir深蓝
4楼-- · 2020-08-26 15:53

您好,汤姆(Tom),敬请期待。 ,

感谢您的反馈。

我已经尝试过这些方法。 第一种方法可行,但是显示的数据已经是更大数据提供者的子集,该提供者在文档的10个不同报告/选项卡中提供约10个不同的此类表/子集。 为每种情况创建2 dp会使文档查询密集,并且可能需要更长的运行时间,还会导致维护开销。

此致

Vino

半个程序猿
5楼-- · 2020-08-26 15:55

嗨,Vino,

同意,必须创建其他DP才能在不同表中的多种条件下工作,这会产生开销。 一般来说,创建包含10个或更多报表选项卡且每个报表中都有多个表/图形的文档不是一种好的设计习惯。 也许需要重新考虑这种文档的设计方法。 假设您使用的是4.2版,则并行DP刷新不会在执行时间上产生开销。

请注意

Tom

一周热门 更多>