DataConnectors icon indicating copy to clipboard operation
DataConnectors copied to clipboard

Supported Odata system query options within Odata.feed

Open edwardz1 opened this issue 6 years ago • 7 comments

I can't seem to find any documentation on what Odata system query options are pushed to the URL and which are not. For example defining a query as such:

let Source = OData.Feed("http://localhost:8070/odataweb/DataService.svc"), Product_table = Source{[Name="Product",Signature="table"]}[Data], #"Kept First Rows" = Table.FirstN(Product_table,10) in #"Kept First Rows"

results in a URL call like: http://localhost:8070/odataweb/DataService.svc/Product?$top=10 So the top query is pushed down to the odata service, but for example a query like this:

let Source = OData.Feed("http://localhost:8070/odataweb/DataService.svc"), Product_table = Source{[Name="Product",Signature="table"]}[Data], #"Filtered Rows" = Table.SelectRows(Product_table, each Text.Contains([_id], "foo")) in #"Filtered Rows"

results in a URL call like: http://localhost:8070/odataweb/DataService.svc/Product So the connector retrieves the entire Product collection and then filters locally. Is there any documentation on what Odata system query options are supported by pushing the predicates down to the URL? And are there any plans to implement all the Odata system query options by pushing them down to the URL? Looking forward to any help anyone can offer.

edwardz1 avatar Apr 25 '18 14:04 edwardz1