【发布时间】:2019-11-14 20:33:58
【问题描述】:
我想创建一些函数来获得所需的输出。我正在学习 R,因此很难创建代码。
这些是我想为更大的数据集创建的示例数据框
数据框 1:
Item LC1 LC2 LC3
8T4121 MW92 OY01 RM11
AB7654 MW92 WK14 RM11
AB7654 MW92 WK14 RS11
数据框 2:
Item LC custfcst
8T4121 MW92 10
8T4121 OY01 12
8T4121 RM11 10
AB7654 MW92 20
AB7654 WK14 10
AB7654 RM11 8
AB7654 RS11 21
数据框 3:
Item LC ToLC Rolledfcst
8T4121 MW92 OY01 22
8T4121 OY01 RM11 10
AB7654 MW92 WK14 30
AB7654 WK14 RM11 12
AB7654 WK14 RS11 10
数据框 4:
Item LC Safetystock(SS) X
8T4121 MW92 15 .25
8T4121 OY01 7 .25
8T4121 RM11 5 .25
AB7654 MW92 30 .25
AB7654 WK14 8 .25
AB7654 RM11 20 .25
AB7654 RS11 15 .25
预期输出:
Item LC1 Pcntg Share RemSS FinalSS Leftover
8T4121 MW92 10/(22+10) Pcntg*SS SS-Share Share+X*RemSS SS-FinalSS
8T4121 OY01 12/(10+12) Pcntg*SS SS-Share Share+X*RemSS SS-FinalSS
8T4121 RM11 NA
注意:此处剩余的项目 8T4121 和 LC1 应添加到 Dataframe 4 的 SafetyStock 中,用于相同的项目,否则只有下一次计算应该发生在 8T4121 和 OY01
步骤: 1. Dataframe中,item从LC1-->LC2-->LC3流出的车道
- 对于输出,每个 Item 一个,custfcst 应取自 DF2,Rolledfcst 应取自 DF3 以计算 Pcntg
同理,Share、RemSS、FinalSS、Leftover也要计算
在我们计算出第一个项目的库存后,应将剩余部分添加到同一项目的下一个 LC 的安全库存中
当我们最终在 Dataframe 1 中为特定项目找到 LC 时,则应仅添加前一个 Lc 的 SS+Leftover。无需进一步计算。
在项目 AB7654 的情况下,第 14 周的 aster 计算应该在 RM11 和 RS11 之间平均分配剩余的 SS
【问题讨论】:
-
添加了预期的输出
-
有人可以提供解决方案吗