私が収集したものから、請求書番号を結合したいが、完成品の情報を使用したいと考えています。私は似たようなことをしましたが、解決策は少し奇妙ですが、うまくいきます。InvoiceShipments テーブルのみが必要です
- 請求書番号でグループ化
注文 ID、SKU、および製品名の式を作成する
IF Price <> 0 AND Cost = 0 THEN Orider ID '<-式に従ってこれを変更 (SKU, ProductName) ELSE ""
[挿入] -> [最大値] として各式の概要を入力し、グループ化された請求明細行に配置します。
- 数量は一定であるため、グループ化された請求明細行にそのフィールドを配置できます。
- Insert-> Price のサマリー、次に SUM を使用した Cost のサマリーをグループ化された請求明細行に配置します。
- 詳細を非表示にします。
これにより、必要な結果が得られるはずです。数式が完成品の情報のみを印刷しているため、他の項目は空白になっています。したがって、MAXIMUM を使用すると、空白でないアイテムが印刷されます。
お役に立てれば。
新しいソリューション
あなたのデータのように設定されたテーブルやビューがないため、このソリューションをテストできませんが、適切なソリューションを策定できる十分な情報があることを願っています
BillofMaterials の完成品を識別するために、InvoiceShipments の材料を使用できないことに気付きました。マテリアルは繰り返されます。完成品を使用してそれらを特定する必要があります。
- 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 つの完成品が含まれている場合、1 つの請求書に対して 2 行が作成されます。
- GF put InvoiceShipments2.invoice#、OrderID (数式版)、SKU (数式版)、ProductNmae (数式版)、InvoiceShipments2.quantity、Summerize(InvoiceShipments2.price)、Summerize(InvoiceShipments2.cost)
- GH を非表示
それがうまくいくことを願っています!