予想数量とカウント数量に差がある場合、整数を使用して差をレコードに比例させる必要があると言う必要がある棚卸システムを作成しています。例えば:
予想:
Item | Quantity | Shelf
Banana | 2 | 1
Banana | 1 | 2
Banana | 2 | 3
数えた:全部で9つ。次のように、3 つのレコード全体で (バナナ全体の) 9 アウトを比例配分する必要があります。
Item | Quantity | Shelf
Banana | 4 | 1
Banana | 2 | 2
Banana | 3 | 3
最終的な分量は元の分量とほぼ同じ割合で、常に丸ごとバナナにする必要があります。負のバナナは存在できませんが、レコードは 0 になる可能性があります。
上記はあくまで一例です。異なる量が存在する場合、結果は同様になるはずです。
私たちは試しました:
Ceiling(CountedQty * Expected/OriginalTotal) WHERE ROWNUMBER = 1
FLOOR(CountedQty * Expected/OriginalTotal) WHERE ROWNUMBER > 1
ただし、これは CountedQty - OriginalTotal > 2 の場合には機能しません。
以前は、これはループを使用して C# で実行され、現在の合計を保持していましたが、ビジネス要件のために回避しようとしています。