レコード変数

レコード変数は、名前フィールド ペアのデータベース、スプレッドシート、またはテーブルから抽出されたデータの行を保持します。これらのフィールドは、Boolean、日時、数値、または文字列データ型を格納できます。

レコード変数の使用

レコード変数は、通常、取得したデータの単一の行を格納するためにループ action で使用されます。インデックス番号または名前を指定することで、単一の値にアクセスできます。インデックス番号は、 name-field ペアの位置です。この名前は、変数が初期化されたときに構成されるか、ソース テーブルの列ヘッダーから抽出されます。

下表は、その例です:

CustomerName 市町村
Dana ピッツバーグ
Sam ロサンゼルス
Alex ボストン
この例では、bot が前のテーブルをループし、各行を rCurrentRow に割り当てます。各行の最初の列から値を取得するには、インデックス番号 $rCurrentRow[0]$ または名前 $rCurrentRow{CustomerName}$ を使用します。
注: レコード変数から日時値を取得し、それを文字列として使用するには、レコード変数を action フィールド内の文字列値と連結します。

スキーマ

スキーマは、レコード フィールドのテンプレートのようなものです。フィールドの順序と、各フィールドに入力できるデータ型を設定します。

新しいレコード変数の作成時に [スキーマを設定] オプションを選択すると、実行時に次の条件が適用されます。ランタイム時には、bot がデータ行を取得し、それをレコード変数に格納します。
  • 取得した値は、設定済みのフィールド データ型と一致する必要があります。

    たとえば、データセット [{"name":"Sally"},{"id":002},{"dob":03/05/1989}] は、スキーマ [{"name":String},{"id":Number},{"dob":Date}] を持つレコード変数に割り当てることができます。

  • データセットの属性は、同じ順序と大文字 / 小文字の区別に従う必要があります。

    たとえば、データセット [{"name":"Henry"},{"id":003},{"dob":06/13/2001}] は、スキーマ [{"id":Number},{"name":String},{"dob":Date}] または {"Name":String},[{"ID":Number},{"DOB":Date}] を持つレコード変数に割り当てることはできません。

  • レコード変数は、フィールドの順序が同じ場合、設定済みのフィールドのスーパーセットを受け入れることができます。

    たとえば、データセット [{"name":"Alex"},{"id":004},{"dob":12/10/1995},{"pet":"yes"}] は、スキーマ [{"name":String},{"id":Number},{"dob":Date}] を持つレコード変数に割り当てることができます。

  • レコード変数はデータのサブセットを受け入れません。

    たとえば、データセット [{"id":005},{"dob":05/21/1975}] は、スキーマ [{"name":String},{"id":Number},{"dob":Date}] を持つレコード変数に割り当てることができません。

bot がレコード変数スキーマに適合しないデータの行に遭遇した場合、bot は失敗します。これにより、bot が間違ったデータや無効なデータを次の action に渡すことが防止されます。