

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

# BOOLEAN\_OPERASI
<a name="recipe-actions.BOOLEAN_OPERATION"></a>

Buat kolom baru, berdasarkan hasil kondisi logis IF. Mengembalikan nilai true jika ekspresi boolean adalah true, nilai false jika ekspresi boolean adalah false, atau mengembalikan nilai kustom.

**Parameter**
+ `trueValueExpression`— Hasil ketika kondisi terpenuhi.
+ `falseValueExpression`— Hasil ketika kondisi tidak terpenuhi.
+ `valueExpression`— Kondisi Boolean.
+ `withExpressions`— Konfigurasi untuk hasil agregat.
+ `targetColumn`— Nama untuk kolom yang baru dibuat.

Anda dapat menggunakan nilai konstan, referensi kolom, dan hasil agregat dalam trueValueExpression, false ValueExpression dan valueExpression.

**Example Contoh: Nilai konstan**  
Nilai yang tetap tidak berubah, seperti angka atau kalimat.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "It is true.",
        "falseValueExpression": "It is false.",
        "valueExpression": "`column.1` < 2000",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example Contoh: Referensi kolom**  
Nilai yang merupakan kolom dalam kumpulan data.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "`column.2`",
        "falseValueExpression": "`column.3`",
        "valueExpression": "`column.1` < `column.4`",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example Contoh: Hasil agregat**  
Nilai yang dihitung oleh fungsi agregat. Fungsi agregat melakukan perhitungan pada kolom, dan mengembalikan nilai tunggal.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "`:mincolumn.2`",
        "falseValueExpression": "`:maxcolumn.3`",
        "valueExpression": "`column.1` < `:avgcolumn.4`",
        "withExpressions": "[{\"name\":\"mincolumn.2\",\"value\":\"min(`column.2`)\",\"type\":\"aggregate\"},{\"name\":\"maxcolumn.3\",\"value\":\"max(`column.3`)\",\"type\":\"aggregate\"},{\"name\":\"avgcolumn.4\",\"value\":\"avg(`column.4`)\",\"type\":\"aggregate\"}]",
        "targetColumn": "result.column"
      }
    }
  }
}
```
Pengguna perlu mengonversi JSON ke string dengan melarikan diri.  
Perhatikan bahwa nama parameter dalam trueValueExpression, falseValueExpression, dan valueExpression harus cocok dengan nama di WithExpressions. Untuk menggunakan hasil agregat dari beberapa kolom, Anda perlu membuat parameter untuk mereka dan menyediakan fungsi agregat.

**Example Contoh:**  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "It is true.",
        "falseValueExpression": "It is false.",
        "valueExpression": "`column.1` < 2000",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example Contoh: and/or**  
Anda dapat menggunakan dan dan atau untuk menggabungkan beberapa kondisi.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "It is true.",
        "falseValueExpression": "It is false.",
        "valueExpression": "`column.1` < 2000 and `column.2` >= `column.3",
        "targetColumn": "result.column"
      }
    }
  }
}
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "`column.4`",
        "falseValueExpression": "`column.5`",
        "valueExpression": "startsWith(`column1`, 'value1') or endsWith(`column2`, 'value2')",
        "targetColumn": "result.column"
      }
    }
  }
}
```

## Fungsi agregat yang valid
<a name="valid-aggregate-functions"></a>

Tabel di bawah ini menunjukkan semua fungsi agregat valid yang dapat digunakan dalam operasi boolean.



- ** Numerik **
  - **Kondisi:** Jumlah / **ValueExpression:** `:sum.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "sum.column.1",<br />      "value": "sum(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan jumlah `column.1`
  - **Kondisi:** Berarti / **ValueExpression:** `:maksud.column.1` / **denganXpressions:**  <pre>[<br />   {    <br />      "name": "mean.column.1",    <br />      "value": "avg(`column.1`)",    <br />      "type": "aggregate"  <br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan mean dari `column.1`
  - **Kondisi:** Berarti deviasi absolut / **ValueExpression:** `:meanabsolutedeviation.column.1` / **denganXpressions:**  <pre>[<br />   {    <br />      "name": "meanabsolutedeviation.column.1",<br />      "value": "mean_absolute_deviation(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan deviasi absolut rata-rata `column.1`
  - **Kondisi:** Median / **ValueExpression:** `:median.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "median.column.1",<br />      "value": "median(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan median `column.1`
  - **Kondisi:** Produk / **ValueExpression:** `:product.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "product.column.1",<br />      "value": "product(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan produk dari `column.1`
  - **Kondisi:** Standar deviasi / **ValueExpression:** `:standarddeviation.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "standarddeviation.column.1",<br />      "value": "stddev(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan standar deviasi `column.1`
  - **Kondisi:** Varians / **ValueExpression:** `:variance.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "variance.column.1",<br />      "value": "variance(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan varians `column.1`
  - **Kondisi:** Kesalahan standar rata-rata / **ValueExpression:** `:standarderrorofmean.column.1` / **denganXpressions:**  <pre>[<br />   {<br />   "name": "standarderrorofmean.column.1",<br />   "value": "standard_error_of_mean(`column.1`)",<br />   "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan kesalahan standar rata-rata `column.1`
  - **Kondisi:** Kemiringan / **ValueExpression:** `:skewness.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "skewness.column.1",<br />      "value": "skewness(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan kemiringan `column.1`
  - **Kondisi:** Kurtosis / **ValueExpression:** `:kurtosis.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "kurtosis.column.1",<br />      "value": "kurtosis(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan kurtosis `column.1`

- ** Datetime/Numeric/Text **
  - **Kondisi:** Hitungan / **ValueExpression:** `:count.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan jumlah total baris di `column.1`
  - **Kondisi:** Hitung berbeda / **ValueExpression:** `:countdistinct.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(distinct `column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan jumlah total baris yang berbeda di `column.1`
  - **Kondisi:** Min / **ValueExpression:** `:min.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "min.column.1",<br />      "value": "min(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan nilai minimum `column.1`
  - **Kondisi:** Maks / **ValueExpression:** `:max.column.1` / **denganXpressions:**  <pre>[<br />   {<br />      "name": "max.column.1",<br />      "value": "max(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Nilai yang dikembalikan:** Mengembalikan nilai maksimum `column.1`



## Kondisi yang valid dalam ValueExpression
<a name="valid-conditions-table"></a>

Tabel di bawah ini menunjukkan kondisi yang didukung dan ekspresi nilai yang dapat Anda gunakan.



- ** String **
  - **Kondisi:** Contains / **ValueExpression:** berisi (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom berisi teks
  - **Kondisi:** Tidak mengandung / **ValueExpression:** \! berisi (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak mengandung teks
  - **Kondisi:** Cocok / **ValueExpression:** cocok (`kolom`, 'pola') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom cocok dengan pola
  - **Kondisi:** Tidak cocok / **ValueExpression:** \! cocok (`kolom`, 'pola') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak cocok dengan pola
  - **Kondisi:** Starts with / **ValueExpression:** startsWith (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom dimulai dengan teks
  - **Kondisi:** Tidak dimulai dengan / **ValueExpression:** \! startsWith (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak dimulai dengan teks
  - **Kondisi:** Ends with / **ValueExpression:** EndsWith (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom berakhir dengan teks
  - **Kondisi:** Tidak berakhir dengan / **ValueExpression:** \! EndsWith (`kolom`, 'teks') / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak diakhiri dengan teks

- ** Numerik **
  - **Kondisi:** Kurang dari / **ValueExpression:** `kolom` < nomor / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom kurang dari angka
  - **Kondisi:** Kurang dari atau sama dengan / **ValueExpression:** `kolom` <= angka / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom kurang dari atau sama dengan angka
  - **Kondisi:** Lebih besar dari / **ValueExpression:** `kolom` > nomor / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih besar dari angka
  - **Kondisi:** Lebih besar dari atau sama dengan / **ValueExpression:** `kolom` >= nomor / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih besar dari atau sama dengan angka
  - **Kondisi:** Adalah antara / **ValueExpression:** isBetween (`kolom`, minNumber, maxNumber) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom berada di antara minNumber dan maxNumber
  - **Kondisi:** Bukan di antara / **ValueExpression:** \! isBetween (`kolom`, minNumber, maxNumber) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak berada di antara minNumber dan maxNumber

- ** Boolean **
  - **Kondisi:** Apakah benar / **ValueExpression:** `kolom` = BENAR / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom boolean TRUE
  - **Kondisi:** Adalah salah / **ValueExpression:** `kolom` = SALAH / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom boolean FALSE

- ** Date/Timestamp **
  - **Kondisi:** Lebih awal dari / **ValueExpression:** `kolom` < 'tanggal' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih awal dari tanggal
  - **Kondisi:** Lebih awal dari atau sama dengan / **ValueExpression:** `kolom` <= 'tanggal' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih awal dari atau sama dengan tanggal
  - **Kondisi:** Lebih lambat dari / **ValueExpression:** `kolom` > 'tanggal' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih lambat dari tanggal
  - **Kondisi:** Lebih lambat dari atau sama dengan / **ValueExpression:** `kolom` >= 'tanggal' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom lebih lambat dari atau sama dengan tanggal

- ** String/Numeric/Date/Timestamp **
  - **Kondisi:** Tepat / **ValueExpression:** `kolom` = 'nilai' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom persis nilai
  - **Kondisi:** Is not / **ValueExpression:** `kolom`\! = 'nilai' / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom bukan nilai
  - **Kondisi:** Hilang / **ValueExpression:** isMissing (`kolom`) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom hilang
  - **Kondisi:** Tidak hilang / **ValueExpression:** \! isMissing (`kolom`) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak hilang
  - **Kondisi:** Valid / **ValueExpression:** isValid (`kolom`, tipe data) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)
  - **Kondisi:** Tidak valid / **ValueExpression:** \! isValid (`kolom`, tipe data) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)

- ** Bersarang **
  - **Kondisi:** Hilang / **ValueExpression:** isMissing (`kolom`) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom hilang
  - **Kondisi:** Tidak hilang / **ValueExpression:** \! isMissing (`kolom`) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak hilang
  - **Kondisi:** Valid / **ValueExpression:** isValid (`kolom`, tipe data) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)
  - **Kondisi:** Tidak valid / **ValueExpression:** \! isValid (`kolom`, tipe data) / **Deskripsi:** Kondisi untuk menguji apakah nilai dalam kolom tidak valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)

