2012-09-26 105 views
1

我有一個數據表叫InvoiceShipments。對於發票上的每件產品,它都會持續一行。每個產品屬於一個產品類別,我可以查詢和過濾。其中一些產品是用Bill of Material完成的好產品,其中Bill of Materials(BOM)是組合成品的部件清單。水晶報表XI - 條件總和發行

InvoiceShipments表中,成品以價格列出,但沒有成本。接下來是成品的組件(BOM),這些成品又具有成本但沒有價格。我有一個單獨的表格,列出了所有組件項目以及它完成的產品。請注意,組件商品可以屬於多個BOM。

我目前可以根據產品類別(從連接到不同表格)按照我想要的產品篩選InvoiceShipments。我想要做的是抓取完成的好數字,並獲得構成該BOM的所有零件編號的列表,然後返回到InvoiceShipments並將與這些組件編號匹配的所有行的成本和發票#。但我一直沒使用Crystal足夠長的時間知道如何在查詢級別,做什麼用的命令表,做什麼用公式來完成,等

Sample Screenshots:

中的頂級表gallery是BOM表,第二個表是InvoiceShipments,第三個是期望的結果。

任何幫助,將不勝感激。

回答

0

從我收集你想要結合發票號碼,但使用成品信息。我做了類似的事情,解決方案有點奇怪,但它的工作原理。你只需要你的InvoiceShipments表

  1. 集團通過發票號
  2. 創建公式訂單ID,SKU和產品名稱

    IF價格<> 0和成本= 0,則 Orider ID'< - 根據公式(SKU,ProductName)更改此項 ELSE 「」

  3. Insert->對每個公式的最大值的摘要並將其置於t他將發票行分組。

  4. 由於數量不變,您可以將該字段放在分組的發票行上。
  5. 使用SUM插入 - >價格總結,然後將其放置在成本發票行中。
  6. 隱藏詳情。

這應該會給你你需要的結果。發生什麼是因爲你的公式只是印刷成品信息,其他項目是空白的。所以當你使用MAXIMUM時,會打印非空白項目。

希望這會有所幫助。


新的解決方案

我沒有任何表或視圖中的設置像你的數據,所以我不能對此進行測試的解決方案,但希望有足夠的信息,你可以制定一個很好的解決方案

我注意到您不能使用InvoiceShipments中的材料來識別BillofMaterials中的成品。材料重演。我們必須使用成品識別它們。

  1. 添加在InvoiceShipments並重新命名爲InvoiceShipments1(添加表時,在右側窗口中,右鍵單擊該表並重新命名。
  2. 使用選擇專家,隔離你的成品。(價格<> 0和成本= 0)
  3. 數據庫。 - >數據庫專家加入您的BillofMaterials錶鏈接SKU到ProductSKU左外連接

現在的材料與發票號碼關聯,我們可以嘗試和鏈接的另一個副本BOM的INvoiceShipments。這很棘手。

  1. 數據庫 - >數據庫專家。將您的InvoiceShipments表添加到重命名爲InvoiceShipments2。將InvoiceShipments2.invoice#鏈接到InvoiceShipments1.Invoice#,將InvoiceShipments2.SKU鏈接到材料#。使用左外部聯接
  2. 創建InvoiceShipments1和InvoiceShipments2之間交替的列式的OrderID,SKU,和產品名稱

    IF ISNULL({InvoiceShipments1.OrderID})THEN {InvoiceShipments2.OrderID} ELSE {InvoiceShipments1 .OrderID}

  3. 創建公式由公式在先前步驟(組合InvoiceShipments2.invoice#和SKU(SKU式版本)

  4. 集團如果發票包含2噸成品,我t將爲一張發票創建2行。
  5. 在GF放InvoiceShipments2.invoice#,訂單ID(式版本),SKU(式版本),ProductNmae(式版本),InvoiceShipments2.quantity,Summerize(InvoiceShipments2.price),Summerize(InvoiceShipments2.cost)
  6. 隱藏GH

希望它有效!

+0

對不起,我想到了它,它在我的實例中效果很好,但如果您在同一張發票上有兩個成品,則不適合您。如果我想出點什麼,我會讓你知道的。 –

+0

謝謝。我有另一種選擇。我添加了一個名爲productCategory的新字段。成品的ProductCategory將具有一個名稱,並且組件商品的ProductCategory將有所不同。所以我想我可以檢查每一行,看它是否在成品分類中,然後遍歷下一行並計算產品分類中的所有成本,並將總和返回給原始完成好排。我只是不確定如何在Crystal中按語法進行操作。 – user1700538