Power Query:根据其他列替换值

Power Query: Replace Value based on other column

我有一个学位项目和大学的数据集,但近年来有几所大学的名称发生了变化。

+------+------------------------------+------------------+
| Year |           College            |     Program      |
+------+------------------------------+------------------+
| 2018 | College of Arts & Humanities | BA Communication |
| 2017 | College of Arts & Humanities | BA Communication |
| 2016 | College of Arts & Sciences   | BA Communication |
+------+------------------------------+------------------+

我想做的是用最近一年的大学名称替换程序的每个引用中的大学名称。在我上面的示例中,它只会将 2016 更改为 "College of Arts & Humanities."

我对幂查询等还是很陌生,所以我对如何处理这个一无所知...

我可以用这些信息创建一个新栏,或者替换栏中的文本,我只需要一种非手动的方式。

还有其他人 运行 参与其中吗?或者对如何处理它有想法?任何建议将不胜感激。 :)


更新:替换值将不起作用,因为一些大学被拆分并且没有简单的 A-B t运行sition。

当我说 "several" 所大学时,1 所大学一分为二,另外 2 所更名。我们谈论的是一个数据集中的数千条记录,来自所有不同的大学。我没有任何名称更改的参考 table。我已经在这个数据集上工作了 2 天,我能找到的最简单的逻辑是用最近一年的大学名称替换每个项目的大学名称。


最终更新:感谢@user9264230。更新提供的代码中的引用后,看起来问题就解决了!

您需要一个关键字段来区分一所大学。如果是字段程序则使用代码

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Grouped Rows" = Table.Group(Source, {"Program"}, {{"Year", each List.Max([Year]), type number}}),
#"Merged Queries" = Table.NestedJoin(#"Grouped Rows",{"Program", "Year"},Source,{"Program", "Year"},"Source",JoinKind.LeftOuter),
List = Table.ExpandTableColumn(#"Merged Queries", "Source", {"College"}, {"College"}),
#"Merged Queries1" = Table.NestedJoin(Source,{"Program"},List,{"Program"},"List",JoinKind.LeftOuter),
#"Expanded Table2" = Table.ExpandTableColumn(#"Merged Queries1", "List", {"College"}, {"College.1"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded Table2",{"College"})
in #"Removed Columns"

否则将 Program 的所有实例替换为所需字段的名称,例如 Key