在公式運算式中使用條件函數 - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在公式運算式中使用條件函數

轉換量度中,無論條件評估為 true 還是 false,您都可以使用下列函數來檢查條件並傳回不同的結果。

函數 描述

if(condition, result_if_true, result_if_false)

result_if_true如果條condition件評估為 true,或條件評估為,result_if_false則評估並傳回false

condition必須是數字。這個函數將0一個空字符串視為false和其他所有內容(包括NaN)為true。布爾值轉換為0(假)和1(真)。

您可以從此函數返回 none 常量以丟棄特定條件的輸出。這表示您可以篩選出不符合條件的資料點。如需詳細資訊,請參閱 篩選資料點

範例
  • if(0, x, y)返回變量y

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

  • if(gt(temp, 300), x, y)返回變量,x如果變temp量大於300

  • if(gt(temp, 300), temp, none)返回變量,temp如果它大於或等於300,或者none(沒有值),如果小temp300

建議您針對巢狀條件函數使用 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 使用。