Crystal reports 基于记录字段检索字段

Crystal reports 基于记录字段检索字段,crystal-reports,Crystal Reports,我有三张桌子 项目, 项目(单位), 订购商品 ,[order_id] ,[item_code] ,[item_desc] ,[unit] ,[qty] ,[price] 第一个表项包含可以排序的项的列表 第二个表item_units包含项目的单位以及该单位中这些项目的数量 第三个表包含已订购的项目。。。即。。。项目代码、单位、数量 以下是项目的列 [item_code] ,[desc] 以下是项目单位的列 ,[item_code] ,[unit]

我有三张桌子 项目, 项目(单位), 订购商品

  ,[order_id]
  ,[item_code]
  ,[item_desc]
  ,[unit]
  ,[qty]
  ,[price]
第一个表项包含可以排序的项的列表

第二个表item_units包含项目的单位以及该单位中这些项目的数量

第三个表包含已订购的项目。。。即。。。项目代码、单位、数量

以下是项目的列

   [item_code]
  ,[desc]
以下是项目单位的列

  ,[item_code]
  ,[unit]
  ,[amount]
  ,[price]
  ,[default_sprd_sht]
以下是订单项目的列

  ,[order_id]
  ,[item_code]
  ,[item_desc]
  ,[unit]
  ,[qty]
  ,[price]
请注意[default\u sprd\u sht]。此字段是布尔值。如果设置为true,则该单位永远不会放入订单项目表中。此字段将用作计算字段

例如: 如果一位顾客点了26包面包,另一位顾客点了3打面包,面包师需要知道要做多少盘面包。 现在一个6包的单位有6个面包作为数量,意味着2*6=12。12个单位有12个面包。。12 * 3 = 36. 一个平底面包单元有20个面包。所以我需要把所有面包单位的数量加起来,然后除以平底锅的数量,就像这样

2*6+12*3/20=2.4

所以我为面包师做的第一件事就是

为order_items.item代码创建一个组,然后创建order_item.unit

这需要完成,因为相同的项目和单元将以不同的顺序重复。面包师需要知道他总共需要烤多少个面包圈或面包

在order_item.unit组标题中,我创建了一个公式字段,将order_item.unit乘以item.amount

那很容易。 但是,如果在items\u单元中存在一条记录,且该记录的item\u代码相同且[default\u sprd\u sht]设置为true,则我还需要对所有订单项进行分组

看起来是这样的

(Sum ({order_items.qty}, {order_items.unit}) * {items_units.amount}) / (get amount for unit with the same item_code and [default_sprd_sht] = 1)
要做到这一点,我有两个问题

如何检查此订单项目是否有具有相同项目代码和 [默认值]=1

如何仅当存在具有相同属性的单元时对订单项进行进一步分组 项目代码和[默认项目]=1


巨大的解释你到底需要什么。。你能用几句话解释一下吗?最后三句话差不多就是这么说的。