使用公式执行计算
在 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(如图所示)。 使用公式中的控件引用可以改善应用的灵活性。
在公式中使用多个控件
可以在同一公式中引用多个控件,为应用用户提供动态输出。
在以下示例中,我们将介绍如何基于多个输入构建窗体体验,它会输出一条消息作为用户反馈。 我们的示例显示了如何计算一定数量特定物料所需的成本,并将其输出为包含货币信息的消息。
注意
完成上述步骤的过程中,如果公式返回错误,请注意,Power Apps 环境(或本地化)的语言设置可能会对某些分隔符和运算符产生影响。 例如,Text(ThisItem.Price, "$ ##.00")
公式适用于以点或句点为小数分隔符的语言和地区(如日本或英国)。 但是,在以逗号为小数分隔符的语言和地区(如法国或西班牙),此公式将变为:Text(ThisItem.Price; "$ ##,00")
。
ThisItem.Price 中的属性选择运算符(点或句点)始终相同,不受小数分隔符的影响;但请注意,小数分隔符和链接运算符将分别变为逗号和分号。 公式的内部不会改变,只是作者显示和编辑它的方式会改变。
在独立浏览器实例或选项卡中,转到 make.powerapps.com,然后创建一个新应用(您可以使用在另一个单元中创建的相同应用)。
选择 + 插入 > 文本标签。
将 Text 属性更改为
"Product"
。再添加三个文本标签并将其放置在第一个标签下方。 将 Text 属性更改为
"Quantity"
、"Cost"
和"Total"
如下图所示。提示
您可以双击控件本身,对每个标签的 Text 属性进行重命名。 双击在控件中突出显示现有文本,然后键入文本,随后,系统会自动将文本插入到标签控件中(该控件还会更新公式 Power fx,含引号)。
接下来,在您的画布应用中插入三个 Text Input 控件,并按以下屏幕截图对其排序。
在每个 TextInput 的 Default 属性中,删除“文本输入”,使每个 Default 值均为空白。
在总计 右侧插入另一个文本标签。 将此控件重命名为 lblSum。
按以下方式更改 Text 属性:
Sum(TextInput2.Text * TextInput3.Text)
(在本例中,TextInput2 代表购买的数量,TextInput3 代表每个物品的成本。)
接下来,选择右上角的播放按钮,预览应用。 将
4
输入到数量输入字段中,将8.20
输入到成本输入字段中,以测试公式运行情况。 请注意,我们目前没有显示两位小数(货币数值常用两位小数来显示),也缺少货币符号,因此我们将修改我们的公式以在接下来显示这些内容。要修改公式以将值显示为货币,请将 lblSum 的 Text 属性更改为:
Text(Sum(TextInput2.Text * TextInput3.Text),"$#,###0.00")
请注意,总计 现在将结果显示为货币。
刚刚发生了什么? 我们在公式中设定了规则:在千位处显示逗号的公式前面添加一个美元符号,如果值小于 1,就在小数点前加零,另外还要在小数点后加两位数(即使值为 0 也是如此)。
接下来,我们要添加交易记录汇总,对公式做出进一步改进。 在您的其他控件下添加一个最终的文本标签,并拉伸其宽度以占据至少一半的屏幕画布。 在 Text 属性中,输入以下公式:
"Your "& TextInput1.Text & " total is: " & lblSum.Text
其中,TextInput1 是产品旁边的文本输入控件
将应用置于预览模式,并在产品旁边的文本输入控件中输入一个值。 请注意,您将收到一条包含所有输入字段值的交易记录汇总消息。 在我们的示例中,我们在产品名称中输入了 Widget。 可尝试在文本输入字段中输入不同的值,以查看您的总计和交易记录汇总消息如何动态变化。
我们现在使用了三个输入控件和 Sum 公式来计算总计,并显示交易记录汇总消息。 希望您能亲眼见证,在公式中使用多个控件可以为应用用户提供动态且相关的反馈。
接下来,我们将介绍如何使用一个控件来修改其他控件的属性,具体来说就是如何改变一个控件的显示位置。 所以,不用关闭练习应用,让我们继续学习下一单元!