首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公式域中的滤波函数

公式域中的滤波函数
EN

Stack Overflow用户
提问于 2019-10-15 06:56:15
回答 1查看 61关注 0票数 0

我是“水晶报告”(2016)的新手,我现在正在为我们的部门做一个评估。从CR访问SAP信息集表中的数据。到目前为止这还不错。

我的数据有以下格式,并逐行读取:

源数据

正如你所看到的,有时有一个Q-数,位置100和105,有时只是位置100。所以有时会有Q-数的重复。我需要的是,如果一个存在的位置105只是使用这一行。如果没有位置105,请使用位置100的线。这应该删除副本,只留下我需要的信息。

在我的报告中添加了新的公式字段之后,它应该显示如下所示的数据(右侧列):

所需数据

我已经用"onlastrecord"-function尝试过了,但是没有必要的结果。在两种情况下,只需使用位置105的线即可。但只显示位置100的Q-数字。

到目前为止,这是我的代码:

如果是(tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0100)和onlastrecord=true,则{Z_QM_INFOSET_CR.QMEL-QMNUM} 如果是(tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0105) 然后{Z_QM_INFOSET_CR.QMEL-QMNUM}

我希望我的案子是可以理解的。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-15 13:07:24

据我所知,您需要一个在这些情况下打印值的公式:

  1. 当位置为105时,显示q-数字。
  2. 当位置为100时显示q-数字,对于相同的q-数没有105。

所以,我建议一种方法来检查下一个记录和最后一个记录的轮廓条件。

试试这个公式:

代码语言:javascript
复制
if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0105" 
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if onlastrecord and {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
and next({Z_QM_INFOSET_CR.QMEL-QMNUM}) <> {Z_QM_INFOSET_CR.QMEL-QMNUM}
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else ""
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58388861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档