式セットを使用してルールをオーケストレーションする
学習の目的
この単元を完了すると、次のことができるようになります。
- 式セットの概要とその使用状況を要約する。
- 式セットの主な要素を挙げる。
- 式セットを作成する基本的なプロセスについて説明する。
式セットの概要
式セットはビジネスルールの計算エンジンです。実用的なフローで変数、定数、ロジックが結び付いて式セットを構成します。式セットは JSON 形式のデータの入力を受け取り、ルックアップテーブル、代数演算、集計演算を使用して新しいデータを計算します。この算定されたデータを JSON 形式で出力し、OmniScript やフローなどのガイド付きプロセスで使用できるようにします。
Salesforce のツールの中にも算術演算を実行可能なものがあります。それならば、敢えて式セットを使うのはなぜなのかと不思議に思うかもしれません。
以下は、式セットで実行できることの一覧です。
- 決定表や決定マトリックスとシームレスに統合する。
- ルールを作成後、入力値を変更して何度も再利用できる。
- 後々計算が変わることを見据えて、1 つのルールの複数のバージョンを作成できる。
- 配列計算、分岐、集計関数など高度な計算機能を使用できる。
- 式セットをシミュレートして動作することを確認し、必要に応じて修正できる。
式セットが役に立つのは、お客様やエージェントが一連の質問に答えて、さまざまなソースからデータを取り込む場合です。次のようなさまざまなユースケースで、式セットを使用して見積を提示したり、対象条件を満たすかどうかを判断したりすることができます。
- 健康保険の加入
- 定期生命保険の見積
- 注文のボリューム割引
- 認可料や申請料
- 給付やサービスの受給資格
式セットに係数、値、計算がいくつもある場合は、複数の決定マトリックスをコールできます。
式セットの構築には、ご想像のとおり、式セットビルダーを使用します。このビルダーでは、要素を定義してシーケンスに結合するという方法で、式セットを簡単に作成できます。
式セットにはさまざまな要素を使用できます。下表は、各種別の簡単な定義を示しています。
要素種別 | 動作 |
---|---|
集計 |
式セットに先行するステップを複数回実行するときに、加算、平均、最大、最小関数を実行します。 |
集計グループ |
入力値のセットごとに前の式セットのステップを 1 回実行してから、集計ステップを実行します。 |
分岐 |
各パスに割り当てた優先度に基づいて、式セットが進むことができる複数の条件パスを表示します。分岐には、デフォルトパスを含めて最大 6 つの条件パスを設定できます。デフォルト以外のすべてのパスには、パスを開始するかどうかを評価する条件ステップが必要です。 |
ビジネス要素 |
業種のビジネス要件に合わせて特別に設計された、ソリューション固有のカスタマイズされた要素です。ビジネス要素は、Industry ソリューションに付属します。組織でビジネス要素を使用できる場合、その要素を式セットに追加して、その要素を他のステップ要素と同様に使用できます。 |
計算 |
変数、定数、数値に対して 1 つ以上の関数または算術演算を実行し、1 つの結果を返します。 |
条件 |
式が true と評価された場合に、後続のステップを実行します。 |
条件グループ |
条件ステップの式が true と評価された場合に、ステップのグループを実行します。 |
ルックアップテーブル |
入力値を参照して決定マトリックスまたは決定表の行と照合し、一致した行の出力を返します。 |
サブ式 |
子の式セットを実行し、結果を親に返します。 |
式セットは上記のコア要素のほか、アクセスコントロール、バージョン管理、ライブシミュレーションツールのような便利な機能も備えています。
また、式セットは簡単に保存してコピーし、再利用できるため、同じようなプロセスを処理する場合に時間や手間を省くことができます。
では、Zercovana のシナリオに戻り、Jessica がビジネスライセンスの申請プロセスを簡便にするために式セットを構築する方法を見ていきましょう。
式セットの動作
前の単元で、Jessica Morales がビジネスライセンスの申請料の基本料金を算定する決定マトリックスを設定して有効にしました。
ここでは、このマトリックスを呼び出す式セットを作成します。この式セットは計算要素と条件要素もコールして、最終料金を決定します。その方法を見ていきましょう。
- をクリックし、[Expression Sets (式セット)] を見つけて選択します。
- [New (新規)] をクリックします。
- [Name (名前)] に
Application Total Fee
(申請料合計) と入力します。 - [Usage Type (利用状況の種別)] で、ドロップダウンリストから [Default (デフォルト)] を選択します。
- [Save (保存)] をクリックします。
式セットを作成して名前を付けたら、[Application Total Fee V1] 式セットバージョンをクリックして式セットビルダーで開きます。
式セットビルダーには 2 つのメイン領域があります。
- キャンバス (1) - キャンバスにさまざまな要素を追加してルールを作成します。
- 設定パネル (2) - 設定パネルには、式セットを設定するための追加のリソースや設定があります。
設定パネルは、次のオプションで構成されています。
- Elements (要素) : このオプションを使用して、使用可能なすべての要素のリストを表示します。
- Resource Manager (リソースマネージャー) : このオプションを使用して、変数と定数を作成します。
- Expression Set Properties (式セットのプロパティ) : このオプションを使用して、開始日時と終了日時、バージョン番号、ランクなどの詳細を追加します。必要であれば、式セットバージョンのステップに関する決定の説明を表示するように選択することもできます。
- Element Details (要素の詳細): このオプションを使用して、要素を出力に含めます。
では、前述のシナリオに従ってこの手順を見ていきましょう。
変数と定数を作成する
Jessica が最初にすべきことは、変数と定数を追加することです。計算ステップで変数や定数を参照する必要があるためです。変数は動的値のプレースホルダーで、定数は固定値のプレースホルダーです。
[リソースを追加] をクリックすると、変数と定数を定義するためのダイアログが開きます。[新規リソースを追加] ウィンドウに [リソース種別]、[変数の API 参照名]、[データ型] などのシンプルな項目があり、この項目に適切な値を入力します。
ご覧のとおり、[リソース種別] 項目は [変数] に設定されています。Seating_Capacity リソースは、ガイド付きプロセスでユーザーが値を定義するものであるため、変数でなければなりません。
このシナリオでは、Jessica は次のリソースを作成します。
Resource Type (リソース種別) | Resource Name (リソース名) | Data Type (データ型) | Decimal (小数) | Default Value (デフォルト値) |
変数 | Seating_Capacity | 数値 | 0 | |
定数 | Seating_Capacity_Base_Fee | 通貨 | 2 | 20 |
変数 | Additional_Fee | 通貨 | 2 | |
変数 | Total_Fee | 通貨 | 2 |
決定マトリックスをコールする
必要な定数と変数をすべて追加したら、以前作成した決定マトリックスが呼び出す 1 つ目の要素を追加します。
[Base Application Fee (申請基本料金)] というマトリックスを見つけて選択します。マトリックスの入力列と出力列のサマリーが示されます。
入力変数と出力変数をチェックして、正しいマトリックスを選択していることを確認します。
計算ステップを追加する
Jessica は続いて、ビジネスの定員数に基づいて追加料金を算出する計算ステップを追加します。
追加料金は、Seating_Capacity 変数に Seating_Capacity_Base_Fee 定数を乗じて計算されます。式で先行入力機能を使用すると、適切な変数や定数を簡単に参照できます。
すべての料金を合計する
料金計算要素を追加し終えた Jessica は最後にもう 1 つ、すべての料金を加算して申請料の合計額を決定する最終計算要素を追加する必要があります。
この最後のステップの式は、決定マトリックスの申請基本料金と 1 つ目の計算ステップの追加料金を取得して合算します。最終的な出力が合計額です。
ルールを保存してシミュレーションする
ルールを作成し終えた Jessica は達成感を抱いていますが、ガイド付きフローに追加する前にテストしておきたいと考えます。式セットビルダーの便利なシミュレーションツールを使用すれば簡単にテストできます。
シミュレーションツールの [入力の詳細] タブに必要な入力変数を追加します。
入力項目に、ビジネスの地域、承認カテゴリ、承認種別、定員数を指定します。続いて、[シミュレーション] をクリックして式セットをテストします。メインパネルにシミュレーションの結果がすぐに表示され、各ステップの実行状況を確認できます。
ルールが意図したとおり機能することを知って Jessica は喜びます。メインパネルに各ステップの出力が表示されます。各要素の左側のチェックマークは、エラーがないことを意味します。指定した入力に基づく計算によると、このビジネスライセンスの申請料の合計額は 190 ドルです。
Jessica は必要に応じて各ステップを展開し、詳細を確認できます。この機能は特にトラブルシューティングの際に役立ちます。
この画面は追加料金を算出する計算ステップで、定員数が 2 人のため 40 ドルになっています。
左側のパネルの [JSON の結果を表示] を展開すると、各ステップの実行に関する技術的な詳細が表示されます。JSON を確認することは、潜在的な問題を解決するもう 1 つの手段です。
Jessica は、新しい式セットをごく簡単に作成してテストできることに心底感動しています。さらに、集計や条件付き分岐といった高度な機能があることを知り、好奇心が湧いてきます。後々、より複雑なルールにこうした機能を使ってみることにします。
異なる入力値でさらに数回シミュレーションした後、Jessica は Zercovana の申請料のガイド付きフローにこのルールを追加しても大丈夫だと確信します。
式セットテンプレート
Jessica は、今後式セットを簡単に作成できるようになるのかと疑問を抱いています。もちろんです!
複雑な式セットをゼロから作成する代わりに、テンプレートを使用すれば作業がスピードアップします。テンプレートを表示して式セットとして保存するだけで、編集を開始できます。詳細は、「テンプレートを使用した式セットの作成」を参照してください。
次のステップ
式セットを有効にした後、Jessica は Zercovana の国民で OmniStudio のエキスパートである Alex Park に連絡します。Alex は、ガイド付き申請プロセスからこの式セットを呼び出します。次の単元で、この方法を見ていきます。