Gunakan fungsi kondisional dalam ekspresi rumus - AWS IoT SiteWise

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan fungsi kondisional dalam ekspresi rumus

Dalam transformasi dan metrik, Anda dapat menggunakan fungsi berikut untuk memeriksa kondisi dan mengembalikan hasil yang berbeda, apakah kondisi dievaluasi menjadi benar atau salah.

Fungsi Deskripsi

if(condition, result_if_true, result_if_false)

Mengevaluasi condition dan mengembalikan result_if_true jika kondisi dievaluasi menjadi benar atau result_if_false jika kondisi dievaluasi. false

conditionharus berupa angka. Fungsi ini mempertimbangkan 0 dan string kosong sebagai false dan segala sesuatu yang lain (termasukNaN) sebagaitrue. Boolean mengkonversi ke 0 (false) dan 1 (true).

Anda dapat mengembalikan konstanta none dari fungsi ini untuk membuang output untuk kondisi tertentu. Ini berarti Anda dapat memfilter titik data yang tidak memenuhi suatu kondisi. Untuk informasi selengkapnya, lihat Filter titik data.

contoh Contoh
  • if(0, x, y)mengembalikan variabely.

  • if(5, x, y)mengembalikan variabelx.

  • if(gt(temp, 300), x, y)mengembalikan variabel x jika variabel temp lebih besar dari300.

  • if(gt(temp, 300), temp, none)mengembalikan variabel temp jika lebih besar dari atau sama dengan300, atau none (tidak ada nilai) jika temp kurang dari300.

Kami menyarankan Anda menggunakan UFCS untuk fungsi bersyarat bersarang di mana satu atau lebih argumen adalah fungsi bersyarat. Anda dapat menggunakan if(condition, result_if_true) untuk mengevaluasi suatu kondisi dan elif(condition, result_if_true, result_if_false) untuk mengevaluasi kondisi tambahan.

Misalnya, Anda dapat menggunakan if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) sebagai penggantiif(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

Anda juga dapat menghubungkan fungsi kondisional menengah tambahan. Misalnya, Anda dapat menggunakan if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) alih-alih menyarangkan beberapa if pernyataan, sepertiif(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))).

penting

Anda harus menggunakan elif(condition, result_if_true, result_if_false) denganUFCS.