数式エディター

数式エディター

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要   

フローのステップを設定する際、ほとんどの項目には固定テキスト以外も入力できます。数式エディターを使用すると、複数のステップの値を組み合わせたり、関数を適用してデータを変換したり、設定中の項目を離れることなく式を作成したりできます。

たとえば、フォームから送信された日付をそのまま渡す代わりに、次のアプリで必要な形式に変換できます。また、請求先の市区町村だけを渡すのではなく、番地、通り名、市区町村を組み合わせて、1つの住所として整形できます。数式エディターを使用すると、このような変換を項目内で直接作成できます。




仕組み  

ステップを設定すると、右側の[変数を挿入]パネルに、フロー内の前のステップで利用できるすべての変数が表示されます。変数をクリックすると、設定中の項目に挿入できます。割り当てた変数をクリックすると、選択した変数が数式バー(数式を編集するテキストボックス)に追加された状態で、数式エディターがオーバーレイ表示されます。

こちらでは、次の操作を実行できます。

  • 変数の値をそのまま渡すため、変更せずに数式を保存する

  • 変数の後に「.」を入力して、利用可能な関数を表示する

  • 変数や固定テキストを追加して、完全な数式を作成する

上部のプレビュー欄では、変数の内部名ではなく、「請求書を取得 → 請求先住所 → 市区町村」のように、読みやすいタグとして表示されます。これにより、操作している値を簡単に識別できます。

ネストされた変数へのアクセス

変数によっては、複数の値が返される場合があります。たとえば、1つの連絡先変数に、名前、メールアドレス、電話番号が含まれていることがあります。「.」を使用すると、ネストされた変数をたどり、必要な値にアクセスできます。

フローでZoho CRMから連絡先を取得するとします。連絡先データ全体ではなく、メールアドレスだけを次のステップに渡します。

trigger.contact.email

必要に応じて、何階層でも深くたどることができます。

trigger.invoice.billingAddress.city

変数のフルパスが長すぎて表示できない場合、数式エディターでは読みやすいように短縮して表示されます。完全なパスを表示するには、その変数にカーソルを合わせます。

数式エディターの概要

前のステップで選択した変数は、数式エディターに自動的に追加されます。数式エディターを使用して、選択した変数の数式を作成、編集できます。

次の要素を追加できます。

  • フロー内の前のステップの変数

  • 変数の後に「.」を入力して追加する関数

  • 数式バーに直接入力する固定テキスト

  • 式を作成するための「+」、「-」、「*」、「/」、「&&」、「||」などの演算子

変数の後に「.」を入力すると、候補一覧に次の内容が表示されます。

  • 選択した変数と入力内容に基づくおすすめの関数

  • 文字列、数値、日付、リスト、マップなど、カテゴリー別に分類されたその他の関数

関数をクリックすると、数式バーに直接挿入されます。



数式の作成  

変数、関数、固定テキストを組み合わせて数式を作成します。一般的な例を以下に示します。

日付の書式設定  

フローがフォームの送信日を受け取り、次のアプリでは特定の形式が必要な場合を考えます。

format_date.format('yyyy-MM-dd')

次のステップに渡す前に、日付を必要な形式に変換します。



メールアドレスからのドメインの抽出

フローが顧客のメールアドレスを受け取り、次のステップではドメイン名だけが必要な場合を考えます。

email.getSuffix('@')

「frank@zylker.com」から「zylker.com」を抽出する場合のように、@より後のすべての文字列を抽出します。

文字列の一部の抽出  

ウェブフックのペイロードに「Your order ORD-8845 has been placed」のような長い文字列が含まれており、その中から注文IDだけが必要な場合を考えます。

message.getPrefix(' has been placed').getSuffix('Your order ')

メッセージから注文IDを抽出します。

期限の計算  

フローでタスクを作成し、送信日の10日後を期限に設定する必要がある場合を考えます。

submissionDate.addDays(10)

次のステップに渡す前に、送信日に10日を加算します。

関数の連結  

同じ変数に複数の関数を適用できます。各関数では、前の関数の出力が使用されます。

  

フローがフォームから商品コードを受け取り、社内システムでは余分なスペースを除いた大文字形式が必要な場合を考えます。

toUpperCase_string.trim().toUpperCase()

1つの数式で、最初に余分なスペースを削除し、次に値を大文字に変換します。



数式エディターとカスタム関数の比較  

項目内で直接実行できる一般的なデータ変換には、数式エディターを使用します。

次の操作が必要な場合は、数式エディターを使用します。  
  • 日付と時刻の書式設定
  • 日付や数値の算術演算

  • 複数の項目の値を結合

  • 文字列の一部を抽出

  • テキストを大文字または小文字に変換

  • 空白を削除、または値に特定のテキストが含まれているかを確認

  • 数値の丸め、または最小値と最大値の取得

  • リストやマップから値を抽出

次の処理が必要な場合は、カスタム関数を使用します。  
  • 複数の値に基づく条件ロジックの適用

  • レコードのリストを繰り返し処理

  • 外部サービスへのAPI呼び出し

  • 中間値を使用した複雑な計算

  • 単一の項目では対応できない複数ステップのロジックの構築

カスタム関数の詳細

よくある質問  

1つの変数に複数の関数を適用できますか?  

はい。複数の関数を連結し、1つの関数の出力を次の関数の入力として使用できます。

productCode.trim().toUpperCase()

この1つの数式で、余分な空白を削除し、値を大文字に変換できます。

変数のパスが「請求書を取得→...→市区町村」のように省略して表示されるのはなぜですか?  

変数のパスが長い場合、読みやすくするために数式エディターではパスが省略されます。完全なパスを表示するには、変数にカーソルを合わせます。

数式エディターはすべての項目の種類で使用できますか?  

数式エディターは、動的な値を使用できる入力項目で利用できます。標準のドロップダウンなど、定義済みの値のみを使用できる項目では、数式エディターを利用できません。ドロップダウンでカスタム値を使用できる場合は、その項目で数式エディターを利用できます。

使用する関数が分からない場合はどうすればよいですか?  

変数の後に「.」を入力すると、その変数で使用できる関数が表示されます。候補リストからカテゴリー別に関数を参照することもできます。

数式エディターとカスタム関数の違いは何ですか?  

値の書式設定、結合、抽出、計算など、一般的なデータ変換には数式エディターを使用します。条件分岐、繰り返し処理、API呼び出し、複数ステップの計算など、より複雑なロジックが必要な場合は、カスタム関数を使用します。