Demand planning文档中的Fill missing values,不能不加限定地译成“替所有空白单元格补数”。Microsoft在Signal fill strategies一节明确说,本段missing指某个时间桶及维度组合没有对应记录行;已有行中的空白值,不由这个功能替换。[1] 这项定义决定了填补实际面对的对象。
原文用同一产品、仓库的月度信号举例:一月与三月有行,二月没有行,二月才属于缺失时间桶。[1] 系统按每个维度组合分别处理这些缺口,所填值仅供当前预测运行,源信号时间序列不改变。因而,预测计算中有了占位值,不表示原资料已经永久增加相同行或写回同样数字。
策略节列出四种取值关系。Zeros填零;Forward fill沿用此前已知值;Backward fill采用之后的已知值;Linear interpolation在前后已知值之间产生等步进值。[1] 对后两种,若没有后来的已知值,则延用最后已知值。线性插值把每个时间桶视为同等一步,月历天数不同,也不使某个月自动获得不同步长。
同页的月例将区别落到具体数字:一月为10、三月为30,二月与四月没有行,预测到四月结束且没有更后值。二月在四种策略下分别为0、10、30、20;四月则分别为0、30、30、30。[1] 这些是官方表格文字中的演示结果,不是本文运行模型所得,也不是对实际业务选择哪种策略的建议。
填补的起点并非任意早的日期。规则说,对每个维度组合,从第一个已有值开始补到预测期末,不在首个已有值之前加数。[1] 另外,主输入中每个需要共享的维度组合,必须在信号里至少出现一次;功能无法从完全不存在的维度组合中创造整条信号。只有时间中间少行,与整个组合没有数据,是不同缺口。
终点之外的数据还有特殊角色。Backward fill与Linear interpolation可以借用预测期末之后的下一个已知信号值,帮助计算期末以内的缺口,但不会因此把期末之外的值纳入输出。[1] 因而,参与内部计算的参考点与结果所覆盖的时间范围,需要分别保留。整个信号都开始于预测期末之后时,文档则说明预测会失败。
可用性必须连同版本阅读。Signal steps标为预览,文档提醒其仍可能变化;设置段曾将当前缺失值说明为零,而后面的策略节列出多种方式,并注明旧版本只提供Zeros。[1] 本篇依据策略节解释取值关系,不裁定任何读者当前安装已经具有四种选项,更不把预览说明作为现行生产功能保证。
采用范围限于Design forecast models的Input、Signal及填补连续段和两张文字表,未读取图片或视频、配置算法或执行预测。2026年8月10日为页面更新标记,首发未知。这里整理的是缺行定义、暂时填值与时间范围,不制定库存、采购或财务方案,也不承诺预测准确度。
资料:[1] https://learn.microsoft.com/en-us/dynamics365/supply-chain/demand-planning/design-forecast-models
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。