excel - 电源查询;计算缺少按数字顺序排列的某个值并创建附加行
问题描述
我每周都会生成一份报告,确定我公司本周和未来几周对零件的需求。我生成的报告从客户文件中加载数据,我使用 Power Query 下载、转换并加载到我的报告中。该报告显示了该年的周数和该周的需求。我面临的问题是客户报告跳过一周(第 26 周)并直接进入第 27 周(查看附图)。
我可以在 Power Query 中采取哪些步骤来计算缺少周数的时间,并为该周数创建一个额外的行,并用“0”填充“所需数量”字段,同时保持“当前余额”字段与前一周相同。
我附上了从 PQ 生成的表格和编辑器中的 PQ 表格的图像。
解决方案
然后我将它作为 Table1 带入 Power Query:
然后我添加了一个自定义列来确定是否跳过了一周。它为此使用 Index 列和 WeekNumber 列。(try 否则会处理到达最后一条记录时发生的错误。):
然后,为了添加丢失的周记录,我单击了功能按钮... ...在功能栏区域键入并按下回车键。= Table.TransformColumns(Custom1, {{"Qty Required", each 0},{"Requirement Date", each 0}, {"WeekNumber", each _ + 1}})
我还将应用步骤的名称从 Custom1 更改为 Transform Table(在 Power Query 窗口的右侧):
然后我点击 Home > Append Queries 并在下拉列表中选择 Table1,然后点击 OK。
然后我在功能栏区域将#"Transform Table" 的第二个实例更改为#"Added Custom" 并按下回车键。这会将先前缺失的几周的新记录附加到先前已经存在的记录中,这些记录存在于 #"Added Custom" 应用步骤(基本上也是以前的表状态)中,以形成完整的集合:
这是我的 M 代码:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type datetime}, {"Part Number", Int64.Type}, {"Part Description", type text}, {"Current Balance On Hand", Int64.Type}, {"Qty Required", Int64.Type}, {"Requirement Date", type datetime}, {"WeekNumber", Int64.Type}, {"Year", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each try if #"Added Index"{[Index]-1}[WeekNumber]+1 = #"Added Index"{[Index]}[WeekNumber] then "Yes" else "No" otherwise "Yes"),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = "No")),
#"Transform Table" = Table.TransformColumns(#"Filtered Rows", {{"Qty Required", each 0},{"Requirement Date", each 0}, {"WeekNumber", each _ + 1}}),
#"Appended Query" = Table.Combine({#"Transform Table", #"Added Custom"}),
#"Sorted Rows" = Table.Sort(#"Appended Query",{{"WeekNumber", Order.Ascending}}),
#"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Index", "Custom"})
in
#"Removed Columns"
推荐阅读
- nopcommerce - 在 NopCommerce 中调用小部件的操作方法时出现问题
- docker - GCP Kubernetes 找不到 Elixir Dockerfile 项目的 libgcc_s
- python - 打印下一个 N 素数
- r - 尝试在多个数据帧上绘制来自同一组的相同变量
- java - MVVM:ViewModel 逻辑需要来自数据库的信息,但如何等待数据?
- r - 根据指定的时间长度创建一个整数列
- html - 计算可滚动高度
- android-studio - 如何在 Android Studio 北极狐中显示用户片段?
- php - WordPress重定向用户权限不足
- python - 如何将 python dict 转换为 pandas 数据框