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 Total”,但正在尝试“SumTotal”。您可能缺少单词之间的x0020。尝试始终使用 camelCase or UpperCamelCase 命名不带空格的列以避免这些问题。 【参考方案1】:

解决此问题的另一种方法是让流程运行,但检查总数是否与更新记录之前的预期结果相符。

如果它们匹配,不要更新记录,直接跳过它。如果加起来不正确,请更新记录。

下次为该项目运行流程时,它将到达逻辑的第一部分,并且它会知道不需要进行更新。

【讨论】:

我想过,但这种方法仍然会用完 API 调用。我想将 API/Flow 调用的数量保持在最低限度,因为我拥有的许可证类型只有有限的调用数量。 好的,请帮助我理解,Total_x0020_Amount 和 SumTotal 是否意味着相同的东西?因此,当您运行触发条件时,如果它们不匹配,那么您运行逻辑? “总金额”是一个计算列,不允许我在底部有一个列级总计。该功能仅适用于非计算(常规)列,即“总和”。【参考方案2】:

我设法通过设置一个 Condition 块来解决此问题,该块仅在任何特定的每月列得到更新时才执行更新。每次编辑时仍会触发流程,但这种情况会大大限制流程并且到目前为止非常可靠。

【讨论】:

以上是关于PowerApps 流:触发条件不起作用。流量一直在燃烧的主要内容,如果未能解决你的问题,请参考以下文章

zabbix触发条件动作执行脚本案例

在 XCUITest 中使用条件似乎不起作用

将过程参数传递给 SELECT INTO where 子句不起作用

上下界网络流

如何使用触发器根据条件更新整行?

网络理论的最大流量问题