我有一个与我合作的学位项目和学院的数据集,但最近几年有几所学院的名称发生了变化。
+------+------------------------------+------------------+
| 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年改为“人文艺术学院”。
我对电源查询还是很陌生的,所以我对如何处理这件事一无所知.
我可以用这些信息创建一个新的列,或者替换列上的文本,我只需要一种不是手动的方式。
还有其他人碰到这个吗?或者对如何处理它有一个想法?如有任何建议,将不胜感激。:)
更新:替换值不起作用,因为有些学院被分割,而且没有简单的A过渡。
当我说“几所”学院时,一所大学分成两所,另外两所被重新命名。我们讨论的是一个数据集中的数千条记录,所有的大学都是如此。我没有任何名称更改的引用表。我已经在这个数据集上工作了两天了,我能找到的最简单的逻辑就是用最近一年的大学名称替换每个程序中的大学名称。
最终更新:感谢@Final 9264230。在更新了提供的代码中的引用之后,看起来已经解决了这个问题!
发布于 2018-09-27 14:00:10
你需要一个能区分一所大学和另一所大学的关键领域。如果是字段程序,那么使用代码
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
https://stackoverflow.com/questions/52526349
复制相似问题