小结:
本文详细介绍了如何在SAP BEX查询设计器中基于输入过滤器抑制列的步骤。
简介:
在BEX查询设计器中没有基于输入过滤器抑制行/列的标准函数。查询属性中只有一个函数可以抑制对行/列有影响的零。
没有动态抑制的选项。我们可以通过使用条件来实现这一点。在本文中,我将与您分享我的经验,并展示如何在客户退出时使用简单技巧和少量编码动态抑制列的解决方案。
目标受众:
本文的主要目标是BW顾问,他们对BW查询和实现复杂的业务客户需求有足够的经验。
工具:
SAP BW 7.4,Bex查询设计器
业务场景:
我们在查询中有结构,比购返利,我们想根据输入筛选隐藏一些列。
下面是与公司(PO)和个人(FO)相关的具体税单中的列。
查询关键数字定义:
我们在查询中只能根据输入全局显示结构的这部分中的一个过滤器。但第1部分(PO)或第2部分(FO)中的所有列必须显示,即使它们是空的(例如r.1020或r.63a)。
解决方案:
限制关键数字的选择定义为一个关键数字和特征。在我们的场景中,物联网产品,云端云服务器,特征只有两个值"FO"和"PO"。
对于"r.1010–r.1030"列的定义"PO:part"。
对于"r.117–r.64"列的定义"FO:part"。
对于查询全局过滤器中的特征,您必须在"常规"选项卡上定义变量,该变量必须设置为"手动输入"
强制和输入在详细信息选项卡上就绪。
比我们在全局筛选器中使用此变量。
通常以下设置允许您根据输入筛选器(FO/PO)隐藏零列。第1部分或第2部分中的关键数字将始终为零,并且不会显示在基于我们在列部分中定义的受限关键数字的查询结果中。
在查询选项中允许设置列抑制
在您的结构上,在"显示"选项卡上的关键数字取消选中此选项
此设置不仅会抑制所有零列从第1/2部分(基于输入过滤器FO/PO),但也从零列的部分,我们要显示为结果(见下图)。
如果我们需要显示零列以及从选定的部分?
我们必须为所有限制关键数字创建公式。
所有限制关键数字在"显示"选项卡上设置为"始终隐藏"。
创建两个公式变量。每个特征值一个用于限制。在我们的情况下,只有两个值FO/PO如开头所述。
在我们的情况下:
ZVAR\u EXIT\u CONSTANT\u 0001
ZVAR\u EXIT\u CONSTANT\u 0002
带客户退出选项
详细信息选项卡上的单值选项,取消选中输入准备选项
然后每个计算出的关键数字将使用之前的限制关键数字加上为各个值(在我们的例子中为FO/PO)制作的一个客户退出变量。
计算出的关键数字"r.1010–r.1030"PO的定义:部分
计算出的关键数字列"r.117–r.64"FO的定义:部分
在下一步中,我们在CMOD事务中编写自己的逻辑如何填充此变量。
打开t代码CMOD并编写逻辑,将此客户退出变量的值填充为"0.001"。
在新创建结构的每个计算关键数字的显示选项卡上,将小数位设置为"0.00"。
结果:
因此,作为所有这些设置的结果,我们通过在计算出的关键数字中添加公式(填写在客户出口中),更改单元格中以前的值0。新结果将是"0.001",根据我们在上一步中所做的小数设置显示为"0.00"。
执行魔术和报表的显示为所需列的0,该列将被查询的标准设置所抑制。背景值将为0.001,列将不被抑制。
基于过滤器的结果:
,个人大数据,软件企业优惠