PowerApps 流:触发条件不起作用。流量一直在燃烧
Posted
技术标签:
【中文标题】PowerApps 流:触发条件不起作用。流量一直在燃烧【英文标题】:PowerApps Flow: Trigger condition not working. The flow keeps firing 【发布时间】:2022-01-24 00:10:46 【问题描述】:我有包含每月数据的表格,我需要计算行级总和。我还需要所有列的列级总和。
我的专栏是:
Project ID | Name | Budget Year | Total Amount | Sum Total | Jan | Feb | ... | Dec
“总金额”是一个计算列,但这并没有为我提供列级别的总计,因此我有一个“总和”货币列,我使用每次创建某些内容时触发的流来填充该列或修改。
为确保我不会陷入无限循环,我在触发条件中有以下内容:
@not(equals(triggerBody()?['Total_x0020_Amount'], triggerBody()?['SumTotal']))
或者,我也尝试过:
@not(equals(triggerOutputs()?['body/Total_x0020_Amount'], triggerOutputs()?['body/SumTotal']))
这些工作都没有,我的流程一直在燃烧。有人能指出我正确的方向吗?
【问题讨论】:
可能有很多东西。 第一个:您需要确保列值是您认为的值。在触发器后插入Compose
操作。将该字段设置为检查列值。插入另一个 Compose
操作。编写一个比较表达式来确定相等性。
2nd: 检查 SumTotal
列名。您正在显示“Sum x0020
。尝试始终使用 camelCase or UpperCamelCase 命名不带空格的列以避免这些问题。解决此问题的另一种方法是让流程运行,但检查总数是否与在更新记录之前的预期结果相符。
如果它们匹配,不要更新记录,直接跳过它。如果加起来不正确,请更新记录。
下次为该项目运行流程时,它将到达逻辑的第一部分,并且它会知道不需要进行更新。
【讨论】:
我想过,但这种方法仍然会用完 API 调用。我想将 API/Flow 调用的数量保持在最低限度,因为我拥有的许可证类型只有有限的调用数量。 好的,请帮助我理解,Total_x0020_Amount 和 SumTotal 是否意味着相同的东西?因此,当您运行触发条件时,如果它们不匹配,那么您运行逻辑? “总金额”是一个计算列,不允许我在底部有一个列级总计。该功能仅适用于非计算(常规)列,即“总和”。【参考方案2】:我设法通过设置一个 Condition 块来解决此问题,该块仅在任何特定的每月列得到更新时才执行更新。每次编辑时仍会触发流程,但这种情况会大大限制流程并且到目前为止非常可靠。
【讨论】:
以上是关于PowerApps 流:触发条件不起作用。流量一直在燃烧的主要内容,如果未能解决你的问题,请参考以下文章