在公式表达式中使用条件函数 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在公式表达式中使用条件函数

变换指标中,您可以使用以下函数来检查条件并返回不同的结果,无论该条件的计算结果为 true 还是 false。

函数 描述

if(condition, result_if_true, result_if_false)

计算 condition,如果条件计算结果为真,则返回 result_if_true,如果条件计算结果为 false,则返回 result_if_false

condition 必须是数字。此函数将 0 和一个空字符串视为 false,其他所有内容(包括 NaN)都视为 true。布尔值转换为 0(假)和 1(真)。

您可以从此函数返回 无 常量,以丢弃特定条件的输出。这意味着您可以筛选出不符合条件的数据点。有关更多信息,请参阅 筛选数据点

例 示例
  • if(0, x, y) 返回变量 y

  • if(5, x, y) 返回变量 x

  • 如果变量 temp 大于 300,则 if(gt(temp, 300), x, y) 返回变量 x

  • 如果 if(gt(temp, 300), temp, none) 大于或等于 300,则返回变量 temp,如果 temp 小于 300,则返回 none(无值)。

我们建议您将 UFCS 用于嵌套条件函数,其中一个或多个参数是条件函数。您可以使用 if(condition, result_if_true) 计算条件和 elif(condition, result_if_true, result_if_false) 计算其他条件。

例如,您可以使用 if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false),而不使用 if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false))

您还可以链接其他中间条件函数。例如,您可以使用 if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) 而不是嵌套多个 if 语句,例如 if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false)))

重要

您必须将 elif(condition, result_if_true, result_if_false)与 UFCS 一起使用。