特定のバンドル用のルールを作成する
学習の目的
この単元を完了すると、次のことができるようになります。
- 選択した商品の数量を合計するサマリー変数を作成する。
- 1 つのバンドルにのみ適用される商品ルールを設定する。
- エラー条件で商品オプションをテストする際の課題について説明する。
独自のルールで機能するバンドル
すでに学習したように、商品ルールの目的は、営業担当が適切な商品を見積に含めることができるようにすることです。ですが、その助けが必要なのは、営業担当が特定のバンドルを設定している最中だけという場合もあります。
たとえば、Telecommuter Workstation という名前のバンドルがあるとします。このバンドルは、増え続けるリモートワークのサポートが必要な企業向けのコンピューター商品です。キーボード、マウス、モニターの必須オプションと、ヘッドフォン、カメラ、マイクなどのアクセサリも含まれています。
これは基本的なバンドルですが、できるだけ早く出荷できるように設計されています。ですが、かつて営業担当はマイクを入れ忘れたバンドルを販売するというミスを犯しており、このバンドルを購入したユーザーはオンライン会議で発言ができませんでした。そのため、Telecommuter Workstation 専用のルールを作成し、マイクなしではバンドル商品を販売できないようにする必要があります。
この例では、Telecommuter Workstation に対してのみ実行されるルールを作成します。このルールは他のバンドルの設定中や、見積品目エディターでは実行させないようにします。ルールの範囲を意図的に狭めるのです。この単元では、この限られた範囲でルールが正しく機能するようにするために必要な設定について学習します。
サマリー変数
作成する商品ルールの目的は、マイク関連のオプションが選択されていない状況を検知することです。そのためには、選択されている数を確認する必要があります。この情報をエラー条件で使用して、数が 0 である場合にルールを発動します。都合がよいことに、CPQ にはいくつかの基準に基づいてオプションの数を数えるサマリー変数というツールがあります。
サマリー変数の仕事はシンプルです。データのセットを確認して、データの件数を 1 つの数値として格納するだけです。たとえば、次のような操作が可能です。
- 取引先のすべての「WiFi アクセスポイント」納入商品の数を数える。
- 見積のすべての行から最大の割引率を探し出す。
- バンドル内で商品コードが「MIC」で終わる選択済みオプションの数を合計する。
今回のルールのために知っておく必要があるのは最後の 1 つです。AW Computing 社の商品には、商品コードの最後の 3 文字を見るだけでマイクが同梱されていることがわかるような名前を付けました。ルールを作成する前に、マイクの数を合計するサマリー変数を作成します。まず、[Summary Variable (サマリー変数)] タブに移動します。
- ナビゲーションバーで、[Summary Variables (サマリー変数)] をクリックします。
-
[New (新規)] をクリックします。
- [Variable Name (変数名)] に
Microphone Sum
(マイク合計) と入力します。
- [Target Object (対象オブジェクト)] で [Product Option (商品オプション)] を選択します。
このルールはバンドルの設定中に実行するため、CPQ に対して [Product Option (商品オプション)] データを集計するように指示しています。[Quote Line (見積品目)] を選択するのは、ルールを見積品目エディターで実行する場合のみです。両方の場所で実行されるルールでは、納入商品とサブスクリプションのデータを使用できます。
- [Aggregate Function (集計関数)] で [Sum (合計)] を選択します。
これは、CPQ がデータを集計する方法を指示しています。この場合は、値を合計します。具体的には、[Quantity (数量)] 項目を合計します。そのため、[Aggregate Field (集計項目)] 項目は [Quantity (数量)] のままにしてあります。
もう少しで完成ですが、その前に、すべての商品オプションではなく、マイク関連のオプションの数量のみを合計するように設定します。そのため、検索条件を作成する必要があります。
- [Filter Field (条件項目)] で [Product Code (商品コード)] を選択します。
- [Operator (演算子)] で、[end with (次の値で終了する)] を選択します。
- [Filter Value (検索条件値)] に
MIC
と入力します。
これにより、CPQ はマイクに関連したオプションの数のみを合計します。サマリー変数でデータを絞り込む方法はたくさんありますが、ここではシンプルで便利な例を示しました。
-
[Save (保存)] をクリックします。
大したことないように見えるかもしれませんが、すでに強力なツールを手にしているのです。このツールは、商品ルールのエラー条件を作成するときに便利です。
バンドル特有のルールを作成する
これで、マイクが付属していないワークステーションを販売できないようにするルールを作成する準備ができました。まず、[Product Rules (商品ルール)] タブに移動します。
- ナビゲーションバーで、[Product Rules (商品ルール)] をクリックします。
-
[New (新規)] をクリックします。
- [Product Rule Name (商品ルール名)] に
Prevent missing microphones
(マイクの欠落防止) と入力します。
- [Type (種別)] で [Validation (入力規則)] を選択します。
- [Scope (範囲)] で [Product (商品)] を選択します。
これにより、CPQ が商品設定中にルールを実行するように指示しています。
- [Evaluation Event (評価イベント)] で [Save (保存)] を選択します。
-
[有効] チェックボックスをオンにします。
- [Conditions Met (一致条件)] で [All (すべて)] を選択します。
- [Message (メッセージ)] に
Please choose an option that includes a microphone
(マイクを含むオプションを選択してください) と入力します。
-
[Save (保存)] をクリックします。
これで基本は完成です。次は条件を追加しましょう。サマリー変数の値が 0 に等しいかどうかをチェックするテストを実行します。
- [Error Condition (エラー条件)] 関連リストで、[New (新規)] をクリックします。
- [Tested Variable (テスト対象変数)] で [Microphone Sum (マイク合計)] を探して選択します。
便利なサマリー変数は、いくつの商品ルールにでも使用できます。では、次のいくつかの項目を設定して、合計が 0 であるかどうかをチェックしましょう。
- [Filter Operator (検索条件の演算子)] で、[equals (次の文字列と一致する)] を選択します。
- [Filter Type (検索条件種別)] で [Value (値)] を選択します。
- [Filter Value (検索条件値)] に
0
と入力します。
-
[Save (保存)] をクリックします。
最後にもう 1 つだけ、非常に重要なステップがあります。この時点では、CPQ はこのルールが Telecommuter Workstation バンドルに適用されることを知りません。この関連付けは設定ルールレコードで行います。
- [Configuration Rules (設定ルール)] 関連リストで、[New (新規)] をクリックします。
-
[有効] チェックボックスをオンにします。
- [Product (商品)] で [Telecommuter Workstation] を探して選択します。
-
[Save (保存)] をクリックします。
これだけです。この例では設定ルールレコードを 1 つだけ作成します。ルールを実行するバンドルが複数ある場合は、それぞれのバンドルに対して設定ルールレコードを作成する必要があります。
ルールが完成しましたので、事前に作成してある Telecommuter Workstation の見積でテストしましょう。
- ナビゲーションバーで、[Quotes (見積)] をクリックし、[All (すべて)] リストビューを選択します。
-
[Q-00040] をクリックします。
-
[Edit Lines (品目の編集)] をクリックします。
-
[Add Products (商品を追加)] をクリックします。
-
[Telecommuter Workstation] のチェックボックスをオンにします。
-
[Select (選択)] をクリックします。
デフォルトでは、バンドルではマイク関連のオプションが選択されていないため、エラーメッセージが表示されるはずの状況です。実際にそうなるか見てみましょう。
-
[Save (保存)] をクリックします。
エラーメッセージが表示されました。では次に、マイク関連のオプションが選択されたときにはエラーメッセージが表示されないことを確認しましょう。
-
[HEADPHONESMIC] のチェックボックスをオンにします。
-
[Save (保存)] をクリックします。
今度は見積品目エディターに移動できました。成功です。
商品オプション項目テストの制限
バンドル特有のルールのエラー条件を作成することで、サマリー変数、設定属性、製品オプション項目をテストできます。たとえば、製品オプション項目の [Quantity (数量)] の値が 10 より大きいかどうかをチェックできます。複数の商品オプション項目を対象としたテストでは、CPQ は選択されている各オプションを 1 つずつ処理し、各オプションに対して、そのオプションだけが存在する場合と同じように、すべてのテストを実行します。バンドル特有のエラー条件を作成する場合には、この方法に関して覚えておくべき 2 つの重要な注意点があります。
まず、CPQ は選択されているオプションのみをテストし、選択されていない他のオプションはすべて無視します。つまり、選択されていないオプションのテストは不可能だということです。そのため、マイクが選択されていないことを検出できるように、この単元の最初にサマリー変数を作成しました。もしサマリー変数がなく、[Product Code (商品コード)] 項目に「MIC」が含まれていないかどうかをテストしたら、偽陽性がたくさん出てしまうでしょう。たとえば、キーボードオプションの商品コードには「MIC」が含まれていませんから条件が成立しますので、実際にマイクオプションが選択されていてもルールが発動されてしまいます。
2 つ目の注意点は、同じルールで 2 つの別々のオプションをテストする場合です。たとえば、次の条件を使用して、「クリーム」と「砂糖」の両方のオプションが選択されているかどうかをコーヒーバンドルでテストするとします。
- Product Code (商品コード) = Cream (クリーム)
- Product Code (商品コード) = Sugar (砂糖)
両方の条件が成立する必要があるため、[Conditions Met (一致条件)] では [All (すべて)] を選択します。CPQ がクリームオプションでテストを実行すると、砂糖オプションのテストは不合格になります。1 つのオプションでクリームと砂糖の両方が成立することは不可能であるため、このルールが実行されることはありません。
回避策は、サマリー変数を使用して、どちらのオプション (たとえば砂糖オプション) の数を数えることです。そして、次の 2 つの条件をテストします。
- Product Code (商品コード) = Cream (クリーム)
- Sum of Sugar Options (砂糖オプションの合計) > 0
これで、CPQ がクリームオプションでテストを実行すると、両方のテストが合格する可能性があるため、その場合にはルールも実行されるようになります。
商品ルールで優れたロジックを作成することが困難な場合もありますが、ルールの作成後に行える最も重要なことは、ルールを徹底的にテストすることです。ルールが発動すべき状況と、発動すべきではない状況の両方でテストを行ってください。
バンドルでのルールのしくみを理解しましたので、次の単元では選択ルールについて学習します。選択ルールは、バンドルで (バンドル以外でも) よく使用されます。
リソース