You colleague is giving advice that falls apart if you give it any thought at all.
If you query the ODBC database directly, it returns the results, say 1,000,000 records.
If you copy the data for querying, you have to pull down the 1,000,000 records and only then query them for what you want to know.
You're pulling down the 1,000,000 records either way, so it seems obvious to me that you'd be better of querying the ODBC data source directly and not copying the stuff down from the server.
There are some exceptions to that basic principle involving temp tables for complex queries that take a lot of time to process, but this sounds like it's just a lot of data, not necessarily a complicated query.