我有以下问题:
在Power Query中,我可以将多个csv文件与power query合并在一起,并具有从文件夹加载的功能。不幸的是,我们获得的时间序列数据是重叠的,整个时间序列的值都已更改。 例如,我们每个星期一获取最近30天的文件。最近30天的值确实发生了变化,因此上周我的报告中的值可能不再是最新的。我的目标是用本周的新数据覆盖上周的旧数据。
示例:
文件A
Date Item Hits Solved
01.01.2018 A 100 50
01.01.2018 B 138 65
02.01.2018 A 124 70
...
07.01.2018 A 143 50
07.01.2018 B 147 57
...
30.01.2018 A 250 124
文件B
Date Item Hits Solved
07.07.2018 A 143 80
07.07.2018 B 147 95
...
06.02.2018 A 341 148
应使用文件B 中的新信息更新文件A 中的数据,仅保留(在这种情况下)从01.01.2018到06.01的值.2018中来自文件A 。其余应来自文件B 。
直到现在,我一直尝试给我的文件编号(编号越高,文件A-> 1,文件B-> 2),并用Date + Item创建一个新的( key )列。 ,按文件号排序(降序),然后在键列中删除重复项。有时这可行(仅保留最新的条目),但有时却不可行。从日期列中删除重复项对我不起作用。在这里,它只是删除最新条目,保留旧条目。
是否有更好的方法来解决此问题?
非常感谢!
答案 0 :(得分:1)
执行根据文件顺序对数据进行排序并将其放入Table.Buffer()的步骤,这样看起来就像
= Table.Buffer(Table.Sort(BLAH BLAH TABLE SORTING CODE))
我不记得技术原因,但是出于这里的目的,这会重置PQ在运行删除重复项时遵循表的可视排序顺序的“内部”排序顺序。
此外,也不必创建键列,您只需选择“项目+日期”列并删除重复项即可。
答案 1 :(得分:0)
我建议在FileA
和FileB
列上从Date
开始并与Item
进行左反合并。这将从FileA
中删除在Date
中具有匹配的Item
和FileB
行的所有行。
然后删除此合并创建的新列,并将File B
附加到末尾,您应该获得想要的结果。