Answering this as an element of the error message. As @MartinSmith said above,
The order by clause for aggregates wasn't implemented until SQL Server 2012. Not sure what the PDW extensions are. – Martin Smith
This is mentioned officially here SQL Server 2008 R2 - OVER Clause (Transact-SQL)
When used in the context of a ranking window function, can only refer to columns made available by the FROM clause. An integer cannot be specified to represent the position of the name or alias of a column in the select list. cannot be used with aggregate window functions.
Even more significant is the verbiage in SQL Server 2012 - OVER Clause (Transact-SQL)
Depending on the ranking, aggregate, or analytic function used with the OVER clause, and/or the may not be supported.
So, it looks like it certainly is not available in 2008 -- though that error message is a really obscure way of saying "not implemented", and in 2012 it looks like MicrosoftsMicrosoft's official stance is your mileage may vary. Which is about the way I feel with all of their products, so I guess it only suitable that they come out and say it.