Forum Discussion
Remove duplicates based on sort in Power Query
- 7 years ago
I've run into this before. I think it's a result of query folding not operating in the order that you'd expect.
The workaround that worked for me was to add an index column after sorting before removing duplicates. This breaks query folding and forces it to operate in the order you just defined by your sort.
- 7 years ago
AlexisOlson Anonymous
Do check this video from curbal.com. It beautifully explains the reason why changing Sort Order in Power query doesn't work for removing duplicates and using Table.Buffer to keep new Sorting Order in memory.
Sharing this as it might be helpful in some other scenarios too..
AlexisOlson Anonymous
Do check this video from curbal.com. It beautifully explains the reason why changing Sort Order in Power query doesn't work for removing duplicates and using Table.Buffer to keep new Sorting Order in memory.
Sharing this as it might be helpful in some other scenarios too..
AnkitBI , are there advantages to using Table.Buffer versus using Index like AlexisOlson suggested? Index worked for me, but I wanted to know if there are cases where it won't.
Thanks!
- jeremiaha5 years agoAdvocate I
I tried using Table.Buffer today before removing duplicates, and I ended up freezing up my file. But adding Index seemed to perform better.
- sudha83943 years agoRegular Visitor
But how does add index helps in solving the issue can you elaborate
Thanks in advance 😊
- AlexisOlson5 years agoSuper User
The underlying idea in both cases is to prevent the query from using the original cached table in memory (since it's not the order we want). It's conceivable that in some cases the internal engine might fold in the index step without reloading the table, which would sort of defeat the purpose of adding that step. Table.Buffer explicitly reloads the table to memory so I'd guess you have fewer edge cases to worry about.
(The above is somewhat speculative, so if anyone knows more definitively, please let me know.)