When you execute a query with analytic function, Virtual DataPort pushes down the query to the datasource. As the Delimited datasource does not support analytic function, the query fails.
In order to overcome this, I would configure the cache of Virtual DataPort with an external database that supports RANK function and enable cache in the view.
For more information on cache configuration and analytical functions, you could refer [Configuring the Cache](https://community.denodo.com/docs/html/browse/6.0/vdp/administration/server_administration_-_configuring_the_server/configuring_the_cache/configuring_the_cache#configuring-the-cache) section of Virtual DataPort Administration Guide and [RANK](https://community.denodo.com/docs/html/browse/6.0/vdp/vql/appendix/syntax_of_condition_functions/analytic_functions_window_functions#rank) section of Virtual DataPort VQL Guide respectively.
Hope this helps !!