0

過去 12 か月の出荷データを調べており、出荷された完成品の合計ユニット数とその原材料のカウンター パーツが必要です。

出荷詳細テーブルを部品表ヘッダー (対応する完成品を含む) に結合し、BOM ヘッダーを BOM Detail に結合して、完成品単位ごとのすべての原材料コンポーネントと数量を取得します。

ShipYear    ShipMonth   CLASS   SHIPMENT_ID INTERNAL_SHIPMENT_LINE_NUM  FG_ITEM FG_QTY  RM_ITEM RM_QTY_PER_FG_UNIT  TOTAL_RM_QTY
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010932    2   4
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010933    3   6
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010934    1   2
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010935    4   8
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010936    1   2
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010937    1   2
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010938    1   2
2013    6   SHADE CHIPS 9701316 25851201    PM9000015050    2   PM1000010939    1   2
2013    6   SHADE CHIPS 9701316 25851202    PM9000015074    5   PM1000010932    4   20
2013    6   SHADE CHIPS 9701316 25851202    PM9000015074    5   PM1000010933    1   5
2013    6   SHADE CHIPS 9701316 25851202    PM9000015074    5   PM1000010934    3   15
2013    6   SHADE CHIPS 9701316 25851202    PM9000015074    5   PM1000010935    8   40
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010932    1   1
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010933    1   1
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010934    1   1
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010935    4   4
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010936    1   1
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010937    2   2
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010938    3   3
2013    6   SHADE CHIPS 9701638 25853677    PM9000015394    1   PM1000010939    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010932    7   7
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010933    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010934    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010935    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010936    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010937    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010938    1   1
2013    6   SHADE CHIPS 9701639 25853678    PM9000015404    1   PM1000010939    1   1
TOTALS                      9       58  136

これは、もう少し適切にフォーマットされた写真です。 ここに画像の説明を入力

最後に、次のことを確認したいと思います。

Year    Month   Class          FG Units RM Units
2012    6   SHADE CHIPS 3449    50351
2012    7   SHADE CHIPS 288 3714
2012    8   SHADE CHIPS 282 4498
2012    9   SHADE CHIPS 105 1528
2012    12  SHADE CHIPS 539 4002
2013    1   SHADE CHIPS 1972    15284
2013    2   SHADE CHIPS 121 781
2013    3   SHADE CHIPS 60  808
2013    4   SHADE CHIPS 74  1335
2013    5   SHADE CHIPS 5   40
2013    6   FILLER SHADE    1   18
2013    6   SHADE CHIPS 4788    36790
2013    7   FILLER SHADE    1   18
2013    7   SHADE CHIPS 207 1600

年月、クラス、shipID、Internal Ship Line、Item、FG_Qty の最大値と RM_Qty の合計で初期グループを作成してみました。次に、その結​​果を再度グループ化します。今回は、年月、クラスのみでグループ化し、FG_Qty と RM_Qty を合計します。

注: 1 つのパスで単純なグループ化を行うだけでは、FG_QTY の合計が過大評価されるため、機能しません。生データでは、BOM 詳細テーブルへの結合のために FG_QTY が複数の行に複製されるためです。したがって、内部出荷明細番号ごとに FG_Qty を 1 回だけカウントする必要があります。

4

4 に答える 4

0

これを行うには、各内部出荷ライン番号の行に連番を割り当てます (年月とクラス内だと思います)。次に、値が 1 の場合の値を合計します。

SELECT ShipYear, ShipMonth, CLASS, SUM(FG_ITEM), SUM(case when seqnum = 1 then FG_QTY end)
FROM (select p.*,
             row_number() over (partition by ShipYear, ShipMonth, Class,
                                             Internal_Shipment_Line_Num
                                order by (select NULL)) as seqnum
      from P
GROUP BY  ShipYear, ShipMonth, CLASS;

パーティション句が正しいかどうかは 100% 確信が持てません。たとえば、パーティション句も必要かもしれませんShipment。しかし、これは問題を解決するための良いスタートになるはずです。

于 2013-07-25T22:24:47.800 に答える