式の作成
_式_を作成すれば、ステップで収集される/セッション変数に保管される値とは無関係であったりその値から得られたりする値を指定できます。 式は、ステップ条件の定義、またはセッション変数の値の定義に使用できます。
ステップ条件で式を使用する
会話中に収集した情報に基づいて、計算の結果に基づいてステップを条件付けする場合は、ステップ条件で式を使用できます。
たとえば、顧客が普通預金口座に 200 ドルを保有しており、そこから 150 ドルを新しい当座預金口座に移したいとします。 振り替え手数料は 3 ドルです。また、この銀行は、普通預金口座の残高が 50 ドル未満の場合に手数料がかかります。 この状態を検査するステップ条件を持つステップを作成できます。 このステップ条件では、次のような式が使用されます。
${savings} - (${Step_232} + ${transfer_fee}) < 50
ここで、
${savings}
は、顧客の普通預金口座の合計額を保管するセッション変数を表します。${Step_232}
は、振り替える金額を顧客に尋ねるステップを表します。${transfer_fee}
は、資金の振り替えの手数料を指定するセッション変数を表します。
ステップ条件が満たされると、そのステップは、要求された送金によって普通預金口座残高が最低 $50 を下回り、手数料が発生することをユーザーに警告し、先に進む前に確認を求めます。
ステップ条件で式を使用するには、以下のステップを実行します。
-
ステップで、**「条件の追加」**をクリックします。
最も使用される可能性が高い選択肢 (通常は、前のステップで設定された変数) を使用した条件が自動的に生成されます。
-
生成された条件の最初のセグメントをクリックしてから、スクロールダウンして**「式 (Expression)」**をクリックします。
-
オプション:
「展開」 アイコンをクリックして、式エディター・ウィンドウを開きます。 (ウィンドウを開かずにフィールドに式を直接入力することもできますが、エディターを使用すると、長い式や複雑な式を簡単に編集できます。)
-
使用したい式を入力します。
式を使用したセッション変数への値の割り当て
他の変数に基づいて変数の値を計算する場合は、セッション変数に値を割り当てるときに式を使用できます。
例えば、6% の消費税と定額の3.00 処理料金を含む購入の合計コストを顧客に通知するとします。 合計コストを計算するには、セッション変数を作成し、式を使用して値を割り当てることができます。
(${price} * 1.06) + 3
この変数は、 「アシスタント」 フィールドで参照できます。
セッション変数に値を割り当てるときに式を使用するには、以下のステップを実行します。
-
ステップ内から、 「変数値の設定」 をクリックします。
-
**「新規値の設定 (Set new value)」**をクリックします。
-
ドロップダウン・リストから、値の保管場所となるセッション変数を選択します。
-
をに設定した後で、 「式」 を選択します。
-
使用したい式を入力します。
-
式エディターを使用している場合は、 「適用」 をクリックして変更を保存し、エディター・ウィンドウを閉じます。
式を使用して、セッション変数に初期値を割り当てることもできます。 「セッション変数」 ウィンドウで、 「初期値」 フィールドに移動し、 「式の使用」 をクリックします。
最初に変数を選択せずに、式を直接記述することもできます。
-
ステップ内から、 「変数値の設定」 をクリックします。
-
**「新規値の設定 (Set new value)」**をクリックします。
-
ドロップダウン・リストから、 「式」 を選択します。
-
使用したい式を入力します。
-
式エディターを使用している場合は、 「適用」 をクリックして変更を保存し、エディター・ウィンドウを閉じます。
式の構文
のwatsonx Assistant式言語はSpring Expression Language(SpEL) と同じですが、構文にいくつか重要な違いがあります。 詳細な背景情報についてはSpEL,見る Spring式言語(SpEL)。
変数
式で変数を参照するには、ドル記号 ($
) を入力してから、リストから変数を選択します。 参照は、表示名ではなく変数 ID (例えば、 ${step_773}
または ${customer_id}
) を使用して変数を参照する正しい表記で式に挿入されます。 別の変数を参照する必要があり、その変数 ID が確実でない限り、この参照を編集しないでください。
カスタムビルドクライアントアプリケーションでユーザー定義のアクションまたはセッション変数を参照するには、予約キーワードプレフィックスを使用します。user_defined_
。 例えば、${user_defined_my_context_var}
の値を取得する my_context_var
クライアントによって設定されます。 カスタムビルドクライアントの詳細については、カスタムビルドクライアント。
標準的な数式
数値の場合、式を使用して数値計算を実行できます。 基本的な算術演算では、標準演算子 (+
、 -
、 *
、 /
) を使用できます。
また、メソッドを使用して、追加の数学演算を実行することもできます。 詳しくは、 アクションの式言語メソッド を参照してください。
配列
配列値を定義するには、項目をコンマで区切り、大括弧を使用して値を入力します (例: [ "one", "two", "three" ]
)。
配列内の項目を参照するには、大括弧表記を使用し、配列内の項目のゼロ・ベースの指標を指定します。例えば、 ${Items}[0]
は配列内の最初の項目を表します。 Items
配列メソッド get()
を使用して、配列から項目を取得することもできます。 詳しくは、 アクションの式言語メソッド を参照してください。
JSON オブジェクト
JSON 表記を使用して、式で複合オブジェクトを定義します。 例えば、以下の式は、変数の値として複合 JSON オブジェクトを割り当てます。
{
"name": {
"firstname": "John",
"lastname": "Doe"
},
"age": 36
}
JSON 内で変数および標準数学を使用して、実行時に計算される動的オブジェクトを作成できます。 例えば、以下の式は、変数を参照し、平均値を計算する JSON オブジェクトを定義します。
{
"temp_1": ${temp_1},
"temp_2": ${temp_2},
"avg_temp": (${temp_1} + ${temp_2}) / 2
}
JSON 値に含まれる子オブジェクトを参照するには、ドット表記を使用してオブジェクトへのパスを表します (例: ${customer}.name.lastname
)。
定義されている可能性がある、または定義されていない可能性があるオブジェクトの子を参照する必要がある場合は、安全なナビゲーション演算子 (?
) を使用してください。 例えば、式 ${customer}.name?.lastname
は、 customer.name
が null
の場合に null
に評価されます。 (安全なナビゲーション演算子を使用しないと、エラーが発生します。)
方法
式言語メソッドを使用して、値を操作します (例えば、ストリングのフォーマット設定や配列への項目の追加など)。 各データ・タイプでサポートされるメソッドについて詳しくは、 アクションの式言語メソッド を参照してください。