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

Canvas Power Apps中如何正确计算指定InvoiceID的行乘积总和?

解决Canvas Power Apps中SQL Server多记录乘积求和问题

你当前用LookUp函数的问题在于,它只会返回第一条匹配条件的记录,所以内部的Sum只能计算这条单一记录的Quantity*UnitRate,自然得不到所有符合条件记录的总和。

正确的实现方式是结合Filter和Sum函数:

Sum(Filter(InvoiceLines, InvoiceID = ThisItem.InvoiceID), Quantity * UnitRate)

逻辑说明:

  • Filter(InvoiceLines, InvoiceID = ThisItem.InvoiceID):先从SQL Server的InvoiceLines表中筛选出所有InvoiceID等于当前ThisItem.InvoiceID的记录(也就是所有InvoiceID为1的行)。
  • Sum(..., Quantity * UnitRate):对筛选出来的每一条记录,计算Quantity与UnitRate的乘积,再将所有乘积结果求和。

代入你的数据计算:

  • 第一条记录乘积:2.00 * 217.39 = 434.78
  • 第二条记录乘积:1.00 * 110.00 = 110.00
  • 总和:434.78 + 110.00 = 544.78,正好是你需要的结果。

另外需要确保Quantity和UnitRate字段在SQL Server中是数值类型(比如decimal、float),避免因数据类型不匹配导致计算异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:45:00