筛选数据
在商务应用程序领域,数据呈现的精准率至关重要。 为此,利用 Filter 和 Search 等函数。 通过将这些函数分配给数据源进行处理,您可以精简信息流。
此处的分配意味着这些函数将充当服务器端的选择性筛选器。 结果就是, 您的应用程序可以有选择性地仅获取和处理必要数据,从而增强用户体验。 这种方法不仅可以减少数据传输,还可以提高用户的效率。
在上一模块中,您学习了如何将数据源添加到库中。 在本模块中,您将进一步延伸这些概念,即通过调整数据来显示与用户相关的数据。
使用 Filter 函数来筛选数据
Filter 函数是最常用的调整数据函数。 借助 Filter,可以创建简单查询,以便仅返回所需的数据。 例如,如果数据源具有用于跟踪项目状态的文本列 IsActive,该列的值为 Yes 或 No,可以通过在库的“Items”属性中使用下列公式来筛选数据。
Filter(YourDataSourcetable, IsActive = "Yes")
库将仅显示列 IsActive 中值为 Yes 的行,而不显示表中的所有行。 这样不仅减少了用户需要整理分类的行数,还通过减少下载的数据量加快了应用速度。
And 运算符
要进一步改善筛选效果,需要使用运算符来创建更为复杂的筛选器。 比较常见的做法是使用 And 运算符合并筛选器内的多个条件。 使用 And 运算符时,所有条件都必须计算为 true 才能使筛选器有效。 例如,可以基于上面的示例进行延伸,使用下面的查询来显示 IsActive 为 Yes 且 Region 为 North 的所有行。
Filter(YourDataSourcetable, IsActive = "Yes" And Region = "North")
本公式会返回 IsActive 为 Yes 且 Region 为 North 的所有行。 请记住,必须将公式中的 And 运算符大写。
Or 运算符
介绍筛选器的另一个重要运算符:Or 运算符。 与 And 运算符不同,Or 运算符只需一个等式为 true 即可检索行。 与 And 运算符相同,必须将 Or 运算符大写,才能使其在筛选条件内正确运行。
基于上面的示例进行延伸,有时您可能想要查看 Region 为 North 或 West 的所有行。 要生成本查询,请使用 Or 运算符。
Filter(YourDataSourcetable, Region = "North" Or Region = "West")
本公式会返回 Region 等于 North 或 West* 的所有行。 另请注意公式中的语法:Region = "North" Or Region = "West"。 常见错误是写成 Region = "North" Or "West"。 本公式并不正确。
结合使用运算符
在要求复杂条件的场景中,组合运算符可以实现更为复杂的逻辑。 参考先前示例:假设您想要筛选数据源,以检索 IsActive 为 Yes 且 Region 为 North 或 West 的所有行。
为此,需要在公式中添加括号。 公式如下所示:
Filter(YourDataSourcetable, IsActive = "Yes" And (Region = "North" Or Region = "West"))
本公式遵循数学运算顺序,首先对嵌套在内括号中的条件进行求值。 本公式先确定 Region 是为 North 还是 West。 如果两个求值结果之一为 true,右侧就为 true。 接下来,本公式检查 IsActive 列的值。 如果值等于“Yes”,该行就为匹配项,并由 Filter 函数返回。 Microsoft Power Apps 支持使用各种运算符和运算符嵌套来进行数据整形。
要详细了解 Power Apps 中可用的不同运算符,请参阅文档中的 Power Apps 中的运算符和数据类型。 其他示例包括 greater than、less than、not、in、exact in 等。 此外,对运算符进行求值时,请务必了解委派。 不同运算符对各个数据源的委派行为也不同。 有关数据源及其运算符的列表,请参阅了解画布应用中的委派。