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为空时停止
循环条件:
and(not(equals(variables('pageIndex'), 1)), empty(variables('pageCookie')))

pageCookie获取方法:
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="')), '" '))
)
),
'<', '<'
),
'>', '>'
),
'"','"'
)
)

浙公网安备 33010602011771号