crystal-reports - 公式字段中的过滤功能
问题描述
我是 Crystal Reports (2016) 的新手,现在我正在为我们部门进行评估。我从 CR 访问 SAP Info set 表中的数据。到目前为止,这工作正常。
我的数据具有以下格式并逐行读取:
如您所见,有时有一个位置为 100 和 105 的 Q 编号,有时只有位置 100。所以有时有重复的 Q 编号。我需要的是,在现有位置 105 的情况下只使用这条线。如果没有位置 105,请使用位置 100 的行。这应该消除重复项,只留下我需要的信息。
将新的公式字段放入我的报告中后,它应该显示如下数据(右侧的列):
我已经尝试过使用“onlastrecord”功能,但没有所需的结果。在两个位置的情况下,它只使用位置为 105 的线。但不显示仅位置 100 的 Q 数。
到目前为止,这是我的代码:
如果 onlastrecord=true 并且 (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0100)
然后 {Z_QM_INFOSET_CR.QMEL-QMNUM} 否则
if (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0105)
然后 {Z_QM_INFOSET_CR.QMEL-QMNUM}
我希望我的情况可以理解..
提前非常感谢!
解决方案
我知道您需要一个在这些情况下打印值的公式:
- 位置为 105 时显示 q 数
- 当位置为 100 并且相同的 q 编号没有 105 时显示 q 编号
所以,我建议一种方法来检查下一条记录和最后一条的轮廓条件。
试试这个公式:
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 ""
推荐阅读
- c# - 错误 Fody:没有找到织布工。通过他们的 nuget 包添加所需的编织者
- javascript - 如何将 ID 添加到 react-table 组件?
- html - 如何为所有 HTML 页面使用我的 CSS 中的通用标题?
- c# - Unity C# Json 读/写
- django - 如何在 Django 单元测试中验证我的上下文是否包含表单对象?
- string - 是否有字符串操作来上标某些值?
- python - 使用 nginx 烧瓶“redirect(url_for)”和“@login_required”错误
- javascript - 如何在 Dropzone 选项上设置命名函数表达式?
- html - 如何让 Bootstrap 4 页面适合实际的移动显示?
- angular - 如何将变量环境存储在代码在 GitHub 上的 Angular 项目中?