# formula への条件の追加

想定外のシナリオに耐性のあるレシピを作成することも重要です。たとえば、トリガーデータの値に抜けがある場合や、別の型のデータが入っている場合が考えられます。

条件付きロジックを使用すれば、そうした状況に備えたレシピを作成することができます。

# 条件

Ruby の三項構文 (if-else ステートメントの一般的な略記法) を使えば、formula を条件付きで実行することができます。三項構文は次のような形になります。

condition ? expression1 : expression2

# 動作

# condition

true または false に評価するブール式。

# expression1

condition が true の場合はこの式が返されます。

# expression2

condition が false の場合はこの式が返されます。

# 例 : ファーストネームとフルネームのいずれかを使用する

以下の例では、Message 入力項目に、条件に応じて Full name と First name のどちらかを渡します。

三項構文 Full name の存在を確認し、存在するなら Full name を、存在しないなら First name を出力する

三項 formula について以下に詳しく説明します。

  1. Full name.present? は、Full name ピルに値があるかどうかをチェックします。値があれば評価結果は true になり、なければ false になります。
  2. formula の2つ目の ? は、評価する条件と返す値を区切るためのものです。1つ目の ? は .present? formula の一部ですが、2つ目の ? は空白文字で区切られており、三項構文の一部であることに注意してください。
  3. ジョブの実行時、Full name ピルに値があれば、Full name の値が Message 入力項目にマッピングされます。
  4. ジョブの実行時、Full name ピルに値がなければ、First name の値が Message 入力項目にマッピングされます。もちろん、この First name ピルにも値がなく、 Message が必須の入力項目である場合、ジョブはこのステップでエラーになります。

Ruby の三項構文の詳細については、こちらの記事 (opens new window)を参照してください。

# 例 : 空の項目をスキップする

レコードを更新する際は、既存のデータは変えず、更新された項目だけを変更することが推奨されます。そのような場合、skip formula を使用すると、対象項目を変更しないよう Workato アクションに指示することができます。

以下の例では、更新された Salesforce レコードを使って Marketo のリードを更新します。Salesforce の Company が存在するかどうかをチェックし、存在する場合は Salesforce の Company を Marketo に出力します。存在しない場合、Marketo レコードを変更しません。

skip 構文 Company の存在をチェックして、存在するなら Company を出力し、存在しないなら変更しない

値を渡さないようにする方法

skip formula を使用すると、入力項目にデータを渡さないようにすることができます。

# 安全参照演算子

入力が有効かどうかチェックします。有効な場合は、入力データに対して指定された操作を行い、有効でない場合は null 値を返します。

# 構文

Input&.operation

  • Input - 入力データピル。任意のデータ型を指定できます。
  • operation - 入力が null でない場合に入力データに適用される formula です。入力のデータ型と互換性のある formula が必要です。

# 動作の仕組み

安全参照演算子 (&.) は、入力データが有効かチェックします。入力データが null または未定義の場合には、null 値を返します。入力データが有効な場合は、operation 引数で指定された操作を実行します。これにより、null 値の処理を簡単な式で記述することが可能になります。

  • 使用する前

Created Date データピルを to_date formula で日付のデータ型に変換する必要があるとします。この formula はデータピルに null 値があるとエラーになるので、このロジックに三項式を使って対処する必要があります。 安全参照演算子を使用しない場合 三項条件の使用

  • 使用した後

代わりに &. 演算子を使用します。安全参照演算子を使用すれば、Created Date に null 値が入っていても、簡単な formula 式で対処できます。 安全参照演算子の使用 安全参照演算子の使用


Last updated: 2023/8/31 1:07:14