我有一个包含许多大表(数千万行)的OData提要。我需要配置PowerQuery (或PowerPivot,哪个是最好的工具)来访问这个OData提要,但是要以分页的方式进行配置,这样单个请求就不会一次返回一千万行,而是使用多个分页查询构建数千万行的完整结果。我不想手动提交许多具有不同$top和$skip值的不同URL来进行自己的手动分页,而是需要PowerQuery或PowerPivot为我处理分页。
我希望PQ/PP能够足够智能地进行分页,也许可以先发出一个"count“查询来确定存在多少行,但事实似乎并非如此。当我给PQ/PP一个大型OData表的URL时,它只是盲目地发出一个查询来检索所有行(实际上,它发出了2个这样的相同查询,这看起来很奇怪),这会使服务器上的DB崩溃。
那么,有没有一种方法可以告诉PQ/PP使用某种分页来访问大型数据集?如果是,我可以设置页面大小吗?
发布于 2015-01-08 14:53:44
如果你使用的是Web API,你能把PageSize放到EnableQueryAttribute上吗?
[EnableQuery(PageSize = 10)]
public IHttpActionResult Get()
{
return Ok(customers);
}发布于 2015-12-09 08:32:15
您可以使用递归来获取和附加连续的页面。每次连续获取都会在url中使用更高的"start“行号。如果fetch产生一个空列表,则递归结束。在"M“中,if语句可以检查空列表,否则追加并递增then "@”,以自引用当前的函数名。
https://stackoverflow.com/questions/27824448
复制相似问题