我有一些代码,用于调出一个项目可以构建的托盘数量。我遇到的问题是我无法弄清楚如何根据这个数字自动构建托盘。
例如,如果我有一个可以构建3.50个托盘的物品,那么我希望它进入一个新的表格,然后调出托盘#1,然后是一个唯一的名称,托盘#2然后是一个唯一的名称,托盘#3然后是一个独特的名称。然后将剩下.50。
我想查看该类别并找到一个可以与.50托盘项目配合的ITEM并尝试制作整个托盘。在下表中,剩下的.50的ITEM 1111'将与ITEM! 3333'配对。然后是.350然后制作托盘#4,这个过程将循环并根据类别找到所有其他组合,以制作最接近的完整托盘。
理想情况下,我希望第一个托盘可以在大于1的任何东西上制作,通过给它们一个唯一的名称,然后使用剩余物与其他剩余物(物品< 1)组合以制作其他可能完整的托盘,阈值介于1和.85之间:
ITEM CUBIC_INCHES PALLETS CATEGORY RANKING
1111 100,000 3.50 HIGH_TOP 1
2222 50,000 1.75 LOW_TOP 1
3333 10,000 .350 HIGH_TOP 2
4444 5,000 .175 LOW_TOP 2
我用来创建此表的代码是:
SELECT
ITEM
,CUBIC_INCHES
,CAST(CASE WHEN CUBIC_INCHES=0 THEN 0
ELSE (CUBIC_INCHES)/28,571.42 END AS DEC(38,4)) AS PALLETS
,CATEGORY
,RANK() OVER (PARTITION BY CATEGORY ORDER BY CUBIC_INCHES) AS RANKING
FROM TABLE_1