crystal-reports - Crystal Reports - 公式中的 Where 子句用于计算第二个表中字段的总和
问题描述
我试图在我的报告中得到一个结果,我相信它需要一个 where 子句,并且不适用于选择专家部分。
我有 2 张桌子。我们称它们为表 1 和表 2。
表 1 包含唯一记录。
表 2 包含与表 1 相同的 uniqueKey 的多条记录。
表 2 中有 3 个字段对表 1 中的每个 uniqueKey 进行滚动。
- 数量_ORD
- QTY_SHIPPED
- 项目_取消
让我们假设表 1 中的项目 #1,表 2 中有 5 条记录。每条记录都有上述 3 个字段的值。我需要显示 ITEM_CANCEL = 0 of QTY_SHIPPED - QTY_ORD 的所有记录的总和。
可能有 3 条记录的 ITEM_CANCEL = 1(我们可以忽略这些记录),但对于其他 2 条 ITEM_CANCEL = 0 的记录,我需要 QTY_SHIPPED 的总和 - QTY_ORD 的总和。
我目前的代码如下“
if {current_order1.ITEM_CANCEL} = 0 then
sum({current_order1.QTY_ORD})-sum({current_order1.QTY_SHIPPED}) else
0
但是这个结果给了我所有记录的总和,包括那些 ITEM_CANCEL = 1 的记录。
如果我在选择专家中使用 ITEM_CANCEL = 0,那么它会删除表 2 中没有值的所有结果。我什至尝试了不使用 SUM 函数的代码,但这提供了表 2 中仅 1 条记录的结果其中 ITEM_CANCEL = 0,而不是我需要的表 2 中 2 条记录的总差异。
对此有何建议?
解决方案
从详细级别的公式开始(无 SUM):
if {current_order1.ITEM_CANCEL} = 0 then {current_order1.QTY_ORD} - {current_order1.QTY_SHIPPED} ELSE 0
然后,在您需要的任何组或报告级别对该公式求和。
推荐阅读
- vb.net - 如何在 vb.net 中为其宽度着色树视图节点?
- python - 如何从 10fastfingers 中提取我的打字数据?
- angular - 如何将 WebdriverIO 的浏览器对象传递给 SeleniumWebDriverHarnessEnvironment 以进行线束加载器(@angular/cdk/testing)
- python - 在 BeautifulSoup 中循环
- javascript - 如何在给定数据的 React 组件中使用嵌套 Map
- python - 提取推文的所有回复链
- amazon-web-services - 如何默认启用 AWS VPC Flow 日志?
- reactjs - 如何使用 redux-toolkit 设置 redux-observable?
- javascript - 我怎样才能在模板文字上应用样式
- php - 完全卡住试图从 PHP 中的数组中获取值