ユースケース開発Workshop変数タイプと使い方変数の変換

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

変数の変換

変数の変換を使用すると、Workshop のビルダーは変数に一般的な演算を適用できるほか、前の演算を参照して演算を連鎖させることができます。

実行コンテキスト

変数の変換は、Foundry のバックエンドではなくブラウザーで実行されます。文字列、数値、日付、ブール値などのプリミティブ型に対する変換では、Foundry サービスとの往復通信は必要ありません。

変換の種類

一般的な演算

  • String の連結: 指定された固定テキストや変数の値を連結した文字列を返します。配列変数を入力すると、この演算は配列内の要素を文字列にキャストして連結します。ビルダーは、要素間に追加する別の入力を任意で指定できます。
  • If/else 文: 条件文を実行し、事前定義された出力値または変数を返します。
  • キャスト演算: 変数を異なるプリミティブ型間でキャストします。次の型キャストがサポートされています。
    • 文字列 → 数値:数字のみを含む文字列型を渡して、数値型にキャストします。
    • 文字列 → 日付:有効な形式の日付値を含む文字列型を渡し、パーサー項目で対応する日付形式を選択します。たとえば、値が 06/26/24 の文字列変数を渡す場合、対応するパーサー形式として M/dd/yyyy を選択し、日付型にキャストします。
    • 文字列 → タイムスタンプ:有効な形式のタイムスタンプ値を含む文字列型を渡し、パーサー項目で対応するタイムスタンプ形式を選択します。出力されるタイムスタンプ値のキャストに使用するタイムゾーンは、ユーザーのローカルタイムゾーンを使用するか、ドロップダウンの選択肢で固定値として設定するか、文字列の参照または変数を使用して動的に設定できます。たとえば、値が 2024 06 26 12:50 AM の文字列変数を渡す場合、対応するパーサー形式として yyyy M dd hh:mm aa を選択し、タイムスタンプ型にキャストします。
    • 文字列 → Geopoint:[latitude], [longitude] のペア形式の文字列型を渡して、Geopoint 型にキャストします。例:40.782142,-73.96596。
    • 文字列 → Geoshape:図形の種類と座標の配列を含む JSON 形式の文字列型を渡して、Geoshape 型にキャストします。例:{"type":"Polygon","coordinates":[[[-73.9580917968885,40.80044406792189],[-73.98186087075722,40.76811683550534],[-73.97304465743831,40.76434392565562],[-73.94930767833077,40.79687062648023],[-73.9580917968885,40.80044406792189]]]}。
    • タイムスタンプ → 日付:タイムスタンプ型を渡して、日付型にキャストします。出力される日付値のキャストに使用するタイムゾーンは、ユーザーのローカルタイムゾーンを使用するか、ドロップダウンの選択肢で固定値として設定するか、文字列の参照または変数を使用して動的に設定できます。入力されたタイムスタンプは、指定されたタイムゾーンでの絶対タイムスタンプを使用して日付に変換されます。
    • 日付 → タイムスタンプ:日付型を渡して、タイムスタンプ型にキャストします。出力される日付値のキャストに使用するタイムゾーンは、ユーザーのローカルタイムゾーンを使用するか、ドロップダウンの選択肢で固定値として設定するか、文字列の参照または変数を使用して動的に設定できます。入力された日付は、指定されたタイムゾーンでの1日の開始を表すタイムスタンプに変換されます。
    • 任意の型 -> 文字列:任意のプリミティブ型から文字列へのキャストは、String の連結演算を使用して実行できます。

オブジェクトセットの変換

  • 空である: 指定されたオブジェクトセットにオブジェクトが存在しないかどうかをブール値で判定します。
  • 空でない: 指定されたオブジェクトセットにオブジェクトが存在するかどうかをブール値で判定します。
  • オブジェクトプロパティ: 単一のオブジェクトと、そのオブジェクトタイプの指定されたプロパティに基づいて、プロパティ値を返します。
  • オブジェクトセットの集計: 指定されたオブジェクトセットの指定されたプロパティに対して集計を実行します。サポートされている集計には、最小値、最大値、合計、平均、カーディナリティがあります。
  • オブジェクト RID: 指定されたオブジェクトのオブジェクト RID を返します。

算術演算

  • 加算: 指定された数値または変数の和を返します。
  • 減算: 指定された数値または変数の差を返します。
  • 乗算: 指定された数値または変数の積を返します。
  • 除算: 指定された数値または変数の商を返します。
  • 絶対値: 指定された数値または変数の絶対値を返します。
  • 否定: 指定された数値または変数の符号を反転した値を返します。
  • 切り上げ: 指定された数値または変数を、指定された精度で切り上げた値を返します。
  • 切り捨て: 指定された数値または変数を、指定された精度で切り捨てた値を返します。
  • 四捨五入: 指定された数値または変数を、指定された精度で四捨五入した値を返します。
  • 最大: 数値、日付、タイムスタンプの値または変数の集まりから最大値を返します。
  • 最小: 数値、日付、タイムスタンプの値または変数の集まりから最小値を返します。

日付/時刻の演算

  • 相対日付: 加算または減算する日数、週数、月数、年数を指定する数値または変数と、日付値または変数に基づいて、計算された日付を返します。
  • 相対時間: 加算または減算する秒数、分数、時間数、日数、週数、月数、年数を指定する数値と、時刻値または変数に基づいて、計算された時刻を返します。
  • 日付の間隔: 指定された2つの日付値または変数の差を数値で返します。返される差は、日、週、月、年単位で計算できます。
  • 時間間隔: 指定された2つの時刻値または変数の差を数値で返します。返される差は、秒、分、時間、日、週、月、年単位で計算できます。
  • 現在の日付: 現在の日付を返します。

日付の比較

  • 以降: 指定された1番目の日付値または変数が、指定された2番目の日付値または変数以降かどうかをブール値で判定します。
  • より後: 指定された1番目の日付値または変数が、指定された2番目の日付値または変数より後かどうかをブール値で判定します。
  • 以前: 指定された1番目の日付値または変数が、指定された2番目の日付値または変数以前かどうかをブール値で判定します。
  • より前: 指定された1番目の日付値または変数が、指定された2番目の日付値または変数より前かどうかをブール値で判定します。
  • 等しい: 指定された2つの日付値または変数を比較し、等しいかどうかをブール値で判定します。

時刻の比較

  • 以降: 指定された1番目の時刻値または変数が、指定された2番目の時刻値または変数以降かどうかをブール値で判定します。
  • より後: 指定された1番目の時刻値または変数が、指定された2番目の時刻値または変数より後かどうかをブール値で判定します。
  • 以前: 指定された1番目の時刻値または変数が、指定された2番目の時刻値または変数以前かどうかをブール値で判定します。
  • より前: 指定された1番目の時刻値または変数が、指定された2番目の時刻値または変数より前かどうかをブール値で判定します。
  • 等しい: 指定された2つの時刻値または変数を比較し、等しいかどうかをブール値で判定します。

数値の比較

  • と等しい: 指定された数値または変数を比較し、等しいかどうかをブール値で判定します。
  • 等しくない: 指定された数値または変数を比較し、等しくないかどうかをブール値で判定します。
  • より小さい: 指定された1番目の数値または変数が、指定された2番目の数値または変数より小さいかどうかをブール値で判定します。
  • 以下: 指定された1番目の数値または変数が、指定された2番目の数値または変数以下かどうかをブール値で判定します。
  • より大きい: 指定された1番目の数値または変数が、指定された2番目の数値または変数より大きいかどうかをブール値で判定します。
  • 以上: 指定された1番目の数値または変数が、指定された2番目の数値または変数以上かどうかをブール値で判定します。

文字列の比較

  • である: 指定された文字列値または変数が等しいかどうかをブール値でチェックします。
  • ではない: 指定された文字列値または変数が等しくないかどうかをブール値でチェックします。
  • 含む: 2番目に指定された文字列値または変数が、1番目に指定された文字列値または変数の部分文字列であるかどうかをブール値でチェックします。
  • 含まない: 2番目に指定された文字列値または変数が、1番目に指定された文字列値または変数の部分文字列であるかどうかをブール値でチェックします。
  • で始まる: 2番目に指定された文字列値または変数が、1番目に指定された文字列値または変数の接頭辞であるかどうかをブール値でチェックします。
  • で終わる: 2番目に指定された文字列値または変数が、1番目に指定された文字列値または変数の接尾辞であるかどうかをブール値でチェックします。

ブール値の比較

  • 真である: 指定されたブール変数が true であるかどうかをブール値でチェックします。
  • 偽である (NOT): 指定されたブール変数が false であるかどうかをブール値でチェックします。
  • nullである: 指定された変数が null であるかどうかをブール値でチェックします。
  • nullでない: 指定された変数が null ではないかどうかをブール値でチェックします。

地理空間

  • Geopoint からの Geohash: 指定された Geopoint を文字列の Geohash 値に変換します。
  • Geopoint からの緯度: 指定された Geopoint の緯度を数値で返します。
  • Geopoint からの経度: 指定された Geopoint の経度を数値で返します。
  • Geopoint からの MGRS: 指定された Geopoint を文字列の MGRS 値に変換します。

配列の演算

  • 作成: 指定された配列のすべての値を含む配列を返します。
  • 共通部分: 指定された配列間で共通する値のみを含む配列を返します。
  • 指定位置の要素を更新: 指定された配列の特定の要素を更新した配列を返します。ビルダーは、配列内の要素の位置を表すインデックスを指定することで、更新する要素を指定できます。
  • 指定位置の要素を取得: 指定された配列内の指定インデックスにある要素に対応し、配列のデータ型に一致する値を返します。
  • 長さ: 指定された配列内の要素数を表す数値を返します。

配列のチェック

  • 含む: 指定された配列内に指定された値が存在するかどうかをブール値でチェックします。
  • 含まない: 指定された配列内に指定された値が存在しないかどうかをブール値でチェックします。
  • のサブセットである: 指定された配列が、もう一方の指定された配列のサブセットであるかどうかをブール値でチェックします。
  • nullである: 指定された配列が null であるかどうかをブール値でチェックします。
    • 注:値として配列変数への参照を選択した場合、この変換は「空である」として評価および表示されます。
  • nullでない: 指定された配列が null ではないかどうかをブール値でチェックします。
    • 注:値として配列変数への参照を選択した場合、この変換は「空ではない」として評価および表示されます。

構造体の変換

  • 構造体のフィールドを抽出: 指定された構造体とフィールドIDに対応する構造体フィールドの値を返します。詳細は、構造体からフィールドを抽出するを参照してください。

読み込み状態

  • 失敗した: 関数ベースの変数でエラーが発生した場合など、指定された変数または前の変換の読み込みに失敗したかどうかをブール値でチェックします。入力を再読み込みしている間、または読み込みが成功した後は false を返します。if/else 文と組み合わせると、入力に失敗したときにフォールバック値を返せます。