excel - 有没有办法根据 Power Query 中的条件从另一列应用最小日期和相关值?
问题描述
我有一个相当大的电源查询(35k 行,但有很多列),我面临这样一种情况,有时我有一个销售订单与多个库存号相关联,我得到与多个工厂相关的多个计划日期。我需要将最早的计划日期及其关联工厂应用于该销售订单的所有行。我已经考虑将查询合并到自身 - 这似乎能够达到最小的计划日期。然而,这需要很长时间,我似乎仍然无法弄清楚如何获得该日期的关联工厂并应用于该销售订单的所有行。
以下是一些示例数据:
我需要做的是将红色的计划日期和工厂信息应用到 SO # 的所有其他行。这是可以在 Power Query 中完成的吗?
解决方案
这是一些您可能能够适应您的真实数据的 MCode。
它
- 使用您显示的数据作为起点
- 按 SOP 分组#
- 确定第一个日期和关联的工厂
- 重新展开表格(原始日期/工厂列除外
let
Source = Excel.CurrentWorkbook(){[Name="Table5"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"SO#", Int64.Type}, {"Stock #", Int64.Type}, {"Planned Date", type date}, {"Factory", type text}}),
//Group by SO#
// then return minimum date and corresonding factory
#"Grouped Rows" = Table.Group(#"Changed Type", {"SO#"}, {
{"All", each _, type table [#"SO#"=nullable number, #"Stock #"=nullable number, Planned Date=nullable date, Factory=nullable text]},
{"Planned Date", each List.Min([Planned Date]), Date.Type},
{"Factory", (t)=> List.Range(t[Factory],List.PositionOf(t[Planned Date],List.Min(t[Planned Date])),1){0}, Text.Type}
}),
//Expand the table (except for the original date and factory columns
#"Expanded All" = Table.ExpandTableColumn(#"Grouped Rows", "All", {"Stock #"}, {"Stock #"})
in
#"Expanded All"
推荐阅读
- node.js - 如何解决“无法读取node.js中未定义的属性'push'
- gradle - 使用 Kotlin 构建 Gradle
- r - 带有索引数据的 For 循环
- java - 如何在 Windows 10 中设置 Javacc
- laravel - 无法在 Laravel 中建立产品和愿望清单模型之间的关系
- c++ - 我的 SSE 代码与普通 c++ 代码输出不同的值
- python - 如何使用此 python 代码添加两个数字
- javascript - 网络摄像头视频未在网页中呈现
- flutter - 如何在 Flutter 的小部件测试中执行缩放(捏缩放)多指手势?
- google-cloud-platform - 用于服务器迁移的 Compute Engine 应用 SSH