サマリー変数でデータを要約する
学習の目的
この単元を完了すると、次のことができるようになります。
- サマリー変数がどのようにデータの概要を表すかを説明する。
- 価格ルールにサマリー変数を適用する。
- 複合サマリー変数を作成する。
- サマリー変数値に寄与するレコードを制限する。
たくさんの酢づけ唐辛子をつまみ食い
状況を設定しましょう。ある夏の日に、あなたは大切な人のために夕食を準備していて、自宅の庭で採れた新鮮な野菜を使ってサラダを作ろうと考えています。とても楽しそうですよね? そこで、あなたはバスケットを持って収穫しました。収穫物は次のとおりです。
野菜 | 色 | 重量 (グラム) |
---|---|---|
甘唐辛子 | 赤 | 268 |
甘唐辛子 | オレンジ | 282 |
プチトマト | 赤 | 30 |
プチトマト | 赤 | 37 |
プチトマト | 赤 | 25 |
プチトマト | 赤 | 26 |
キュウリ | 緑 | 431 |
それぞれの野菜の重さを量るのは、あなたがそういう人だからです。データが楽しくないなんて誰にも言わせません。データを集計できる「楽しい」方法は多数あります。たとえば、次のような方法があります。
- 野菜の数: 7
- 甘唐辛子の合計重量 (グラム): 550
- トマトの平均重量 (グラム): 29.5
- すべての野菜の最低重量 (グラム): 25
- 赤い野菜の最大重量 (グラム): 268
良いお知らせがあります。楽しみはガーデニングだけにとどまりません。Salesforce CPQ には、上記のようにデータを集計するために設計されたサマリー変数というツールがあります。ただし、野菜を集計するのではなく、CPQ 関連のレコードを集計します。これには、見積品目、商品オプション、サブスクリプション、納入商品 (これは Salesforce のコアオブジェクトです) などがあります。そのため、このようなレコードに関する情報 (顧客が現在持っている有効なサブスクリプションの数など) を確認する必要がある場合、その値を表すサマリー変数を作成できます。そうすることで、価格ルールの価格条件や価格アクションで、そのサマリー変数を参照できます。
サマリー変数の種をまく
価格条件の要因としてサマリー変数から利益を得るユースケースを考えてみましょう。AW Computing は、顧客維持を促進する必要があり、顧客が過去にラップトップを 10 台以上購入している場合、ラップトップの価格を 100 ドル値下げしようと考えています。同社は、取引先に関連する納入商品レコードを活用しているため、顧客が以前に何を購入したかを把握しています。
把握する必要があるのは、ラップトップ納入商品の合計数です。まさにそれを表すサマリー変数を作成できます。
- ナビゲーションバーで、[Summary Variables (サマリー変数)] をクリックします。
- [New (新規)] をクリックします。
- [Variable Name (変数名)] に
Laptop Asset Sum
(ラップトップ納入商品の合計) と入力します。 - [Target Object (対象オブジェクト)] で [Asset (納入商品)] を選択します。
この選択リストには、集計する可能性がある他の種別のレコードが含まれています。 - [Aggregate Function (集計関数)] で choose [Sum (合計)] を選択します。
野菜の収穫をさまざまな方法で集計できるように、件数、合計、平均、最小 (min)、最大 (max) を使用してレコードを集計できます。 - [Filter Field (項目を絞り込み)] で [ProductCode] を選択します。
必ず [ProductCode] を選択してください。[Product Code (商品コード)] ではありません。前者は納入商品オブジェクトの [Product Code (商品コード)] 項目の API 参照名であり、Trailhead チームによって選択リストに追加されています。後者は一般的に商品オブジェクトの [Product Code (商品コード)] を表し、この例では機能しません。 - [Operator (演算子)] で、[starts with (次の文字列で始まる)] を選択します。
- [Filter Value (条件値)] に
LAPTOP1
と入力します。
これにより、13 インチと 15 インチのラップトップが選択されますが、ラップトップカートは選択されないようになります。 - [Save (保存)] をクリックします。
これで、取引先のラップトップ納入商品の数を知りたい場合は、いつでも [Laptop Asset Sum (ラップトップ納入商品の合計)] を参照できるようになりました。この変数を活用して、価格ルールを作成してみましょう。
ひとつまみのサマリー変数を使用した条件
AW Computing 向けに作成する必要のある価格ルールは、他の単元で作成した価格ルールと非常に似ています。以前と同様に、まず価格ルールレコードから始めます。
- ナビゲーションバーで、[Price Rules (価格ルール)] をクリックします。
- [New (新規)] をクリックします。
- [Price Rule Name (価格ルール名)] に
Repeated Laptop List Price
(リピート購入されたラップトップのリスト価格) と入力します。 - [Evaluation Scope (評価範囲)] で [Calculator (計算機能)] を選択します。
- [有効] チェックボックスをオンにします。
- [Save (保存)] をクリックします。
このルールは、顧客が過去に 10 台以上のノートパソコンを購入していて、かつ見積品目の対象がラップトップであるという、2 つの条件下でのみ実行される必要があります。最初の条件では、新しいサマリー変数を使用します。
- [Price Conditions (価格条件)] 関連リストで、[New (新規)] をクリックします。
- [Object (オブジェクト)] で [Summary Variable (サマリー変数)] を選択します。
- [Tested Variable (テスト対象変数)] で、[Laptop Asset Sum (ラップトップ納入商品の合計)] を見つけて選択します。
- [Operator (演算子)] で [greater or equals (>=)] を選択します。
- [Filter Type (検索条件種別)] で [Value (値)] を選択します。
- [Filter Value (検索条件値)] に
10
と入力します。 - [Save (保存)] をクリックします。
2 つ目の条件で、ラップトップ商品のみに対して調整が行われるようにします。
- [Price Conditions (価格条件)] 関連リストで、[New (新規)] をクリックします。
- [Object (オブジェクト)] で [Quote Line (見積品目)] を選択します。
- [Field (項目)] で [Product Code (商品コード)] を選択します。
- [Operator (演算子)] で、[starts with (次の文字列で始まる)] を選択します。
- [Filter Type (検索条件種別)] で [Value (値)] を選択します。
- [Filter Value (条件値)] に
LAPTOP1
と入力します。 - [Save (保存)] をクリックします。
順調です。最後の手順は、価格アクションを作成し、100 ドルを差し引いて価格表の価格を調整することです。
- [Price Actions (価格アクション)] 関連リストで、[New (新規)] をクリックします。
- [Target Object (対象オブジェクト)] で [Quote Line (見積品目)] を選択します。
- [Target Field (対象項目)] で [SBQQ__ListPrice__c] を選択します。
- [Formula (数式)] に、
SBQQ__OriginalPrice__c - 100
と入力します。 - [Save (保存)] をクリックします。
これで、サマリー変数ベースの価格ルールが 1 つ作成され、テストする準備が整いました。見積に進む前に取引先に移動して、そこにどのような納入資産が存在し、ラップトップの価格調整を想定すべきかどうかを確認しましょう。
- ナビゲーションバーで、[Accounts (取引先)] をクリックし、[All Accounts (すべての取引先)] リストビューを選択します。
- [GenePoint] をクリックします。
-
[Related (関連)] タブをクリックします。
ページを少し下にスクロールすると、納入商品の関連リストがあります。合計で 10 台のラップトップがあるため、GenePoint の次回の見積では値下げされたラップトップ価格が表示される必要があります。 - [Quotes (見積)] 関連リストで [Q-00051] をクリックします。
- [Edit Lines (品目の編集)] をクリックします。
- [Add Products (商品を追加)] をクリックします。
- [LAPTOP13] をクリックします。
- [選択] をクリックします。
- [Save (保存)] をクリックします。
- [LAPTOP13] 見積品目の見積品目ドロワー矢印 ( ) をクリックします。
価格ルールが実行され、リスト単価が 1200 ドルになり、元の価格よりちょうど 100 ドル値引きされています。とても良かったわよ! - [キャンセル] をクリックします。
この演習用にサマリー変数を作成したとき、[Aggregate Field (集計項目)] を [Quantity (数量)] に設定したままにしました。これは、数量を合計する必要があったためです。ただし、他の数値項目 (たとえば、庭の野菜の重量) を合計しなければならないシナリオがある場合は、項目の API 参照名を [Aggregate Field (集計項目)] 選択リストに追加できます。これにより、価格ルールでサマリー変数を使用する可能性が大きく広がります。
複合サマリー変数
サマリー変数のただでさえ素晴らしい機能を拡張する方法がもう 1 つあります。甘唐辛子の重量を合計するサマリー変数を設定していても、ソースデータで提供されるグラム単位ではなく、オンス単位の重量が必要な場合はどうすればよいでしょうか? Salesforce CPQ では、まさにサマリー変数レコードでこれをサポートできます。
[Composite Information (複合情報)] というセクションにお気づきだと思いますが、このセクションの項目では、CPQ でこれまでに合計されたどの値に対しても、駆け込みの計算を実行できます。1 オンスが約 28.3495 グラムであることがわかっていれば、簡単な割り算で必要な単位に変換できます。後処理に複合項目を使用した場合、サマリー変数は次のようになります。
[Composite Operator (複合演算子)] に [Divide (除算)] を選択し、[Value Element (値要素)] 項目に 28.3495 と入力します。これで、サマリー変数は甘唐辛子の正確な重さ (オンス) である 19.4 を表すようになりました。複合演算子では、加算、減算、乗算もサポートされています。
最後に、更にサマリー変数を使いこなしたい場合は、変数要素参照項目を使用して別のサマリー変数を参照できます。たとえば、現在見積にあるラップトップの数量を合計する 2 つ目のサマリー変数を作成してから、複合セクションを使用し、この演習で作成したサマリー変数を追加できます。こうすることで、納入商品のラップトップ数と見積品目のラップトップ数を合わせた合計を取得できます。可能性は無限大です。
制約項目を使用したレコードの制限
この演習では、商品コードで商品を絞り込むサマリー変数を作成しました。ただし、場合によっては 2 つ目の検索条件を設定する必要があります。たとえば、過去 1 年間に販売されたラップトップ数のみを合計したい場合などです。
サマリー変数の制約項目を使用すると、別の検索条件を組み合わせて使用できます。制約項目を設定するしくみは少し複雑ですが、「Discounting Tools in Salesforce CPQ (Salesforce CPQ の割引ツール)」バッジの 5 番目の単元で説明されているように、このしくみには割引率表で制約項目を使用する方法が正確に反映されています。まとめると、次のようになります。
- どの納入商品が含まれるべきかを区別するために、納入商品に項目を作成する。
- 納入商品項目と同じ API 参照名の項目を見積に作成する。
- 数式、自動化、または手動入力で、この 2 つの項目が同じ値になるように入力する。
- サマリー変数の [Constraint Field (制約項目)] 項目をこの 2 つの項目の API 参照名に設定する。
少々手間がかかりますが、このプロセスは一度設定したら後は何もする必要はありません。
これで、サマリー野菜、いえ、サマリー変数の環境を整備する方法を理解でき、あらゆる種類の複雑な価格ルール要件を処理する準備が整いました。次の単元では、独自のカスタムデータセットを使用してルール動作を起動する方法を学習します。