Power Automate中如何进行分页处理

对于单次查询数据量比较多的情况下,通常我们会进行分页处理,那么在PowerAutomate中要如何实现呢

默认情况下,Power Automate中Dataverse查询列表记录单次最多5000行,但是如果想查询查过5000行,可以在设置中启用分页,并将阈值设置为100,000,这是所能设置的最大阈值

 

 

 

 

需要注意的是,100k行时目前所能查询的最大行,因此还需要其他的分页方法

下面以调用Action和执行fetchxml两个示例说明

Action分页

首先如何调用Action实现分页查询,目前在PP上Action的执行时间都受2分钟超时的限制,因此对于数据量多的查询,需要进行分页处理

我们初始化三个变量PageIndex、PageSize、hasmore,分别为页码、每页条数、是否有更多数据

然后使用do until控件,条件设置为当hasmore变量为false时不再循环,在循环里面使用Datavers连接器调用action执行分页查询,

在action中我们设置了传出参数是否存在数据,赋值给hasmore变量,并且对PageIndex进行增量+1处理

 

 FetchXml分页

通过fetchxml分页查询也是,由于使用fetchxml单次查询上限5000条,所以也是需要分页的

这边我们初始化两个变量:pageIndex和pageCookie

 

 

 

使用do until控件,循环直至pageindex不等于1并且pageCookie为空时停止

循环条件:

1
and(not(equals(variables('pageIndex'), 1)), empty(variables('pageCookie')))

  

 

 

 

 

 

pageCookie获取方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if
(
    empty(outputs('List_rows_')?['body']?['@Microsoft.Dynamics.CRM.fetchxmlpagingcookie']),
    '',
    replace
    (
        replace
        (
            replace
            (
                decodeUriComponent
                (
                    decodeUriComponent
                    (
                        first(split(last(split(outputs('List_rows_')?['body']?['@Microsoft.Dynamics.CRM.fetchxmlpagingcookie'], 'pagingcookie="')), '" '))
                    )
                ),
                '<', '<'
            ),
            '>', '>'
        ),
        '"','"'
    )
)

  

 

posted @   西伯利亚小菜鸟  阅读(654)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示