You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Power Automate直接获取Dataverse表中列的最大值?

在Power Automate中直接获取Dataverse列最大值的方法

首先明确:List rows操作的「Filter rows」属性仅用于筛选符合条件的行,不支持max(columnname)这类聚合语法——它只能做行级过滤,无法返回聚合计算结果。

下面是两种更直接的获取最大值的方法:

方法一:用FetchXML聚合查询(在List rows中直接使用)

Dataverse支持FetchXML的聚合功能,你可以构造一个聚合查询,直接在List rows操作中返回最大值:

  1. 打开Power Automate的「List rows」操作,点击「Show advanced options」展开,找到「Fetch XML Query」属性
  2. 输入以下FetchXML代码(替换成你的实体名和列名):
<fetch aggregate='true'>
  <entity name='my_sample_table'>
    <attribute name='my_sample_column' alias='max_value' aggregate='max' />
  </entity>
</fetch>
  1. 执行操作后,用以下表达式提取最大值:
    body('List_rows')?['value'][0]?['max_value']

方法二:用Dataverse Web API直接调用聚合

通过「Send an HTTP request to Dataverse」操作,调用Web API的聚合查询,步骤如下:

  1. 添加「Send an HTTP request to Dataverse」操作
  2. 配置参数:
    • Method: GET
    • URI: my_sample_tables?$select=my_sample_column&$apply=aggregate(my_sample_column with max as max_value)
      (注意:Dataverse Web API中实体名需用复数形式,比如my_sample_table对应my_sample_tables)
  3. 执行后,用以下表达式提取最大值:
    body('Send_an_HTTP_request_to_Dataverse')?['value'][0]?['max_value']

这两种方法无需遍历所有行或排序取首行,直接返回聚合后的最大值,数据量大时效率更高。

内容的提问来源于stack exchange,提问作者Sid133

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:50:28