从我收集到的信息中,您希望合并发票编号,但使用成品信息。我做过类似的事情,解决方案有点奇怪,但它有效。您只需要 InvoiceShipments 表
- 按发票编号分组
为订单 ID、SKU 和产品名称创建公式
IF Price <> 0 AND Cost = 0 THEN Orider ID '<-根据公式 (SKU, ProductName) ELSE "" 更改此项
在每个公式上插入-> 摘要为最大值,并将其放在分组发票行上。
- 由于数量是恒定的,您可以将该字段放在分组发票行上。
- 插入-> 价格汇总,然后使用 SUM 在成本上汇总,并将其放在分组发票行上。
- 隐藏细节。
这应该会给你你需要的结果。发生的事情是因为您的公式仅打印成品信息,其他项目为空白。因此,当您使用 MAXIMUM 时,将打印非空白项。
希望这可以帮助。
新解决方案
我没有像您的数据一样设置的任何表或视图,因此我无法测试此解决方案,但希望有足够的信息可以让您制定一个好的解决方案
我注意到您不能使用 InvoiceShipments 中的材料来识别 BillofMaterials 中的成品。材料会重复。我们必须使用成品来识别它们。
- 添加 InvoiceShipments 并重命名为 InvoiceShipments1(添加表格时,右侧窗口,右键单击表格并重命名。
- 使用精选专家,隔离您的成品。(价格 <> 0 且成本 = 0)
- 数据库 -> 数据库专家。添加到您的 BillofMaterials 表中。将 SKU 链接到 ProductSKU。左外连接
现在材料与发票编号相关联,我们可以尝试将 INvoiceShipments 的另一个副本链接到 BOM。这很棘手。
- 数据库 -> 数据库专家。添加 InvoiceShipments 表,将其重命名为 InvoiceShipments2。将 InvoiceShipments2.invoice# 链接到 InvoiceShipments1.Invoice#,将 InvoiceShipments2.SKU 链接到 Material#。使用左外连接
在 OrderID、SKU 和 ProductName 列上创建一个在 InvoiceShipments1 和 InvoiceShipments2 之间交替的公式
IF ISNULL({InvoiceShipments1.OrderID}) THEN {InvoiceShipments2.OrderID} ELSE {InvoiceShipments1.OrderID}
创建一个结合 InvoiceShipments2.invoice# 和 SKU 的公式(SKU 公式版本)
- 在上一步中按公式分组(如果发票包含 2 个成品,它将为一个发票创建 2 行。
- 在GF上放InvoiceShipments2.invoice#、OrderID(公式版)、SKU(公式版)、ProductNmae(公式版)、InvoiceShipments2.quantity、Summerize(InvoiceShipments2.price)、Summerize(InvoiceShipments2.cost)
- 隐藏生长激素
希望它有效!