使用公式执行计算

已完成

在 Power Apps 中,与 Excel 类似,您可以创建公式来计算并返回值。 下面列出了您在处理数字和计算值时,可能会用到的几个常见函数: 此语法允许在每个括号中输入多个数字,但在下面的示例中我们只输入了两个数字。

  • Average - 计算其参数的平均值或算术平均值。

    • 示例:Average(3,7) 返回 5
  • Max - 查找最大值。

    • 示例:Max(3,7) 返回 7
  • Min - 查找最小值。

    • 示例:Min(3,7) 返回 3
  • Sum - 计算其参数的总和。

    • 示例:Sum(3,7) 返回 10
  • StdevP - 计算其参数的标准偏差。

    • 示例:StdevP(3,7) 返回 2
  • VarP - 计算其参数的方差。

    • 示例:VarP(3,7) 返回 4

将控件合并到公式中

通过引用公式中的控件名称,可以将控件合并到公式中。

例如,在下图中,我们添加了一个下拉列表控件,其 Items 属性为 [1, 2, 3, 4, 5]。 在其正下方,我们添加了一个 Text 值为 Average(Dropdown1.Selected.Value,7) 的标签控件。 换句话说,标签公式输出的值为下拉列表值和数字 7 的平均值。

将下拉列表值更改为 5 后,标签值会更改为 6(如图所示)。 使用公式中的控件引用可以改善应用的灵活性。

下拉列表值设置为 5 且标签更改为 6 的屏幕截图。

在公式中使用多个控件

可以在同一公式中引用多个控件,为应用用户提供动态输出。

在以下示例中,我们将介绍如何基于多个输入构建窗体体验,它会输出一条消息作为用户反馈。 我们的示例显示了如何计算一定数量特定物料所需的成本,并将其输出为包含货币信息的消息。

注意

完成上述步骤的过程中,如果公式返回错误,请注意,Power Apps 环境(或本地化)的语言设置可能会对某些分隔符和运算符产生影响。 例如,Text(ThisItem.Price, "$ ##.00") 公式适用于以点或句点为小数分隔符的语言和地区(如日本或英国)。 但是,在以逗号为小数分隔符的语言和地区(如法国或西班牙),此公式将变为:Text(ThisItem.Price; "$ ##,00")

ThisItem.Price 中的属性选择运算符(点或句点)始终相同,不受小数分隔符的影响;但请注意,小数分隔符和链接运算符将分别变为逗号和分号。 公式的内部不会改变,只有作者的显示和编辑方式会改变。

  1. 在独立浏览器实例或选项卡中,转到 make.powerapps.com,然后创建一个新应用(您可以使用在另一个单元中创建的相同应用)。

  2. 选择 + 插入>文本标签

  3. Text 属性更改为 "Product"

  4. 再添加三个文本标签并将其放置在第一个标签下方。 将 Text 属性更改为 "Quantity""Cost""Total" 如下图所示。

    提示

    您可以双击控件本身,对每个标签的 Text 属性进行重命名。 双击在控件中突出显示现有文本,然后键入文本,随后,系统会自动将文本插入到标签控件中(该控件还会更新公式 Power fx,含引号)。

  5. 接下来,在您的画布应用中插入三个 Text Input 控件,并按以下屏幕截图对其排序。

    Power Apps 树视图 Screen1 文本输入的屏幕截图。

  6. 在每个 TextInputDefault 属性中,删除“文本输入”,使每个 Default 值均为空白。

  7. 总计 右侧插入另一个文本标签。 将此控件重命名为 lblSum

  8. 按以下方式更改 Text 属性:

    Sum(TextInput2.Text * TextInput3.Text)

    (在本例中,TextInput2 代表购买的数量,TextInput3 代表每个物品的成本。)

  9. 接下来,选择右上角的播放按钮,预览应用。 将 4 输入到数量输入字段中,将 8.20 输入到成本输入字段中,以测试公式运行情况。 请注意,我们目前没有显示两位小数(货币数值常用两位小数来显示),也缺少货币符号,因此我们将修改我们的公式以在接下来显示这些内容。

    显示数量为 4、成本为 8.20 且总计为 32.8 的屏幕截图。

  10. 要修改公式以将值显示为货币,请将 lblSumText 属性更改为:

    Text(Sum(TextInput2.Text * TextInput3.Text),"$#,###0.00")

    显示修改后的公式的屏幕截图,总计旁边显示 $32.80。

    请注意,总计 现在将结果显示为货币

    刚刚发生了什么? 我们在公式中设定了规则:在千位处显示逗号的公式前面添加一个美元符号,如果值小于 1,就在小数点前加零,另外还要在小数点后加两位数(即使值为 0 也是如此)。

  11. 接下来,我们要添加交易记录汇总,对公式做出进一步改进。 在您的其他控件下添加一个最终的文本标签,并拉伸其宽度以占据至少一半的屏幕画布。 在 Text 属性中,输入以下公式:

    "Your "& TextInput1.Text & " total is: " & lblSum.Text

    其中,TextInput1产品旁边的文本输入控件

  12. 将应用置于预览模式,并在产品旁边的文本输入控件中输入一个值。 请注意,您将收到一条包含所有输入字段值的交易记录汇总消息。 在我们的示例中,我们在产品名称中输入了 Widget。 可尝试在文本输入字段中输入不同的值,以查看您的总计和交易记录汇总消息如何动态变化。

    显示交易记录汇总“您的小组件总计 $32.80”的屏幕截图。

我们现在使用了三个输入控件和 Sum 公式来计算总计,并显示交易记录汇总消息。 希望您能亲眼见证,在公式中使用多个控件可以为应用用户提供动态且相关的反馈。

接下来,我们将介绍如何使用一个控件来修改其他控件的属性,具体来说就是如何改变一个控件的显示位置。 所以,不用关闭练习应用,让我们继续学习下一单元!