式フィールドを使用したカスタム・ロールアップの構成
ロールアップのカスタム属性を作成するには、通常フィールドのかわりに式フィールドを使用します。 通常のフィールドとは異なり、式フィールドでは、計算に関連するルールを使用してスクリプトを作成できます。
式フィールドのもう1つの利点は、単一のフィールドに複数の値を表示できることです。これは、ロールアップ属性に適しています。
式フィールドを使用してカスタム・ロールアップを表示するための概要は次のとおりです。
- カスタム式フィールドを作成します。
- オブジェクト・ページに式フィールドを追加します。
- 式フィールドのデータを移入するためのカスタム・ロールアップを作成します。
これらの手順を適用して、アカウントおよび担当者オブジェクト・ページに対するいくつかのロールアップ例を作成してみます。
式フィールドを使用して作成されたアカウント・ロールアップの例
- オープン商談合計
- アカウントおよびそのアカウント階層の子アカウントのオープン商談からの売上合計
ステップ1: カスタム式フィールドの作成
オープン商談合計とオープン商談からの売上合計の2つの新しい式フィールドを作成します。 次にその方法を示します。
- アクティブなサンドボックスに入ります。 ナビゲータから、 に移動します。
- 「フィールド」ページで、 をクリックします。
- 「式」を選択し、「OK」をクリックします。
式フィールドの詳細は、アプリケーション・コンポーザを使用したアプリケーションの構成ガイドの式フィールドのトピックを参照してください。
- オープン商談合計の式フィールドを作成します。
- 式フィールドの作成ページで、「表示ラベル」に
「Total Open Opportunities」
と入力し、「名前」フィールドに同じ名前をスペースなしで入力します。
式フィールドの作成ページのサンプル画像を次に示します。
- 式フィールドの作成ページで、「表示ラベル」に
- 「次」をクリックします。
- 式の構成ページで、フィールド値の計算時にエンジンが考慮する式を入力します。 たとえば、次の式を使用して、アカウントの商談数がゼロの場合にエンジンが計算しないことを示します。
(AccountRollup?.NumberOfOpenOpportunities)?:0;
算式の例のサンプル画像を次に示します。
- 「発行」をクリックします。
- 「Total Open Opportunities Revenue」ロールアップの式フィールドを作成します。
- ステップ2および3で示した手順に従います。
- 式フィールドの作成ページで、「表示ラベル」に
「Total Open Opportunities Revenue」
と入力し、「名前」フィールドに同じ名前をスペースなしで入力します。 - 「表示タイプ」で、「複数行テキスト・エリア」を選択します。
算式フィールドは、2つのロールアップ・フィールドを表示するための複数行テキスト・エリアとして表示されます。 この例では、2つのロールアップ・フィールドは
SumOfOpenOpportunitiesRevenue
とHierSumOfOpenOpportunitiesRevenue
(1つはアカウント用、もう1つはその階層用)です。式フィールドの作成: フィールドの記述ページのサンプル画像を次に示します。
- 「次」をクリックします。
- 式の構成ページで、次のことを実行します。
- 式フィールドの式で、アカウントの商談売上の合計を格納する変数を作成します。 アカウント階層からの商談売上の合計を格納するもう1つの変数を作成します。 この例では、変数は
thisAccountOptyRevn
およびhierAccountOptyRevn
です。 - 商談売上の値がゼロかどうかを式で評価します。 ゼロの場合は、変数をnullに設定します。 同様に、アカウント階層からの商談売上の値がゼロかどうかを評価します。 ゼロの場合は、アカウント階層ロールアップを表示しません。
- 式を記述するには、ロールアップ・オブジェクトに対応するリストからフィールドを選択します。 この場合、アカウント・ロールアップはアカウントの子であり、アカウント・オブジェクトと1:1の関係があります。 「アカウント・ロールアップ」を選択すると、「ロールアップ」フィールドがリストに表示されます。 フィールドは容易に参照でき、スクリプト・パレットに挿入して式を記述できます。 この場合、式ではフィールド
AccountRollup?.SumOfOpenOpportunitiesRevenue
およびAccountRollup?.HierSumOfOpenOpportunitiesRevenue
を使用します。 これらは、前のステップで作成したカスタム・ロールアップです。
- 式フィールドの式で、アカウントの商談売上の合計を格納する変数を作成します。 アカウント階層からの商談売上の合計を格納するもう1つの変数を作成します。 この例では、変数は
- サンプルのような式を作成します。
def thisAccountOptyRevn = (AccountRollup?.SumOfOpenOpportunitiesRevenue)?:0; def hierAccountOptyRevn = (AccountRollup?.HierSumOfOpenOpportunitiesRevenue)?:0; def str = ""; if( hierAccountOptyRevn == 0 ) { str = sprintf("\$%,.2f",thisAccountOptyRevn); } else { str = sprintf("For this Account: \$%,.2f\nFor the Account Hierarchy: \$%,.2f", thisAccountOptyRevn, hierAccountOptyRevn); } return str;
式フィールドの作成: 式の構成ページのサンプル画像を次に示します。
- 「発行」をクリックします。
ステップ2: 「アカウント・プロファイル」ページへの式フィールドの追加
- アクティブなサンドボックスに入ります。
- ナビゲータから、 に移動します。
- 詳細レイアウトのコピーを作成し、ステップ1で作成した2つのカスタム・フィールド(
「Total Open Opportunities」
および「Hierarchy Total Open Opportunities Revenue」
)を追加します。 - 変更内容を保存します。
ステップ3: 式フィールドのデータを移入するためのカスタム・ロールアップの作成
- サンドボックスを終了し、 にナビゲートします。
- オープン商談合計と階層オープン商談合計売上のロールアップを作成します。
- ロールアップの作成時に、作成した式フィールドをロールアップ属性および階層ロールアップ属性としてそれぞれ割り当てます。
- ロールアップをテストします。
- ロールアップで完全リフレッシュを実行します。
- ロールアップを公開します。
詳細なステップは、「ロールアップを設定するステップは何ですか。」のトピックを参照してください。
構成の最後に、作成した2つのロールアップが「アカウントの編集: プロファイル」ページに表示されます。 次に、サンプル画像を示します。

式フィールドを使用して作成された担当者ロールアップの例
- 担当者との連絡の合計数
- 担当者との最終連絡
- 担当者によって作成されたオープン・サービス・リクエスト数
- 担当者によって作成されたクリティカルなオープン・サービス・リクエスト数
ステップ1: カスタム式フィールドの作成
- アクティブなサンドボックスに入ります。 ナビゲータから、 に移動します。
- 「フィールド」ページで、 をクリックします。
- 「式」を選択し、「OK」をクリックします。
式フィールドの詳細は、アプリケーション・コンポーザを使用したアプリケーションの構成ガイドの式フィールドのトピックを参照してください。
- 式フィールドの作成ページで、「表示ラベル」に
「Contact Engagement」
と入力し、「名前」フィールドに同じ名前をスペースなしで入力します。 - 「表示タイプ」で、「複数行テキスト・エリア」を選択します。
- 「次」をクリックします。
- 式の構成ページで、次の属性を単一フィールドに表示できる式を作成します。
- 連絡数。
- 担当者との最終連絡。
- オープン・サービス・リクエスト数。
- 担当者に関連付けられたクリティカルなオープン・サービス・リクエスト。
連絡とは、担当者に対して送信されたEメールまたは行われたコールの合計を指します。 式は、オープンまたはクリティカルなサービス・リクエストの数を評価します。 担当者に関連付けられたサービス・リクエストがない場合は、式に文字列を追加してわかりやすいメッセージを表示できます。 フィールドに作成できるサンプルの式を次に示します。
Display name: Contact Engagement (Custom field: ContactEngagement_c): /* Total Touches with Contact: Last touch being: ? Note that the contact has x Service request of which x are critical No outstanding SRs */ def contactLastTouchDate = ContactRollup?.LastTouchDate def contactNumTouches = (ContactRollup?.NumberOfTouches)?:0; def contactCriticalSrs = (ContactRollup?.NumberOfOpenCriticalServiceRequests)?:0; def contactSrs = (ContactRollup?.NumberOfOpenServiceRequests)?: 0; def str = ""; if( contactNumTouches > (BigDecimal)0 ) str = "Total touches with contact: " + contactNumTouches + "\n"; if( contactLastTouchDate ) str = str + "Last touch being: " + contactLastTouchDate.format("M/d/yyyy") + "\n"; if( contactSrs ) { str = str + "This contact has " + contactSrs + " open service request"; if( contactSrs > (BigDecimal) 1 ) // plural for service request? str = str+ "s"; if( contactCriticalSrs ) { str = str + ", " +contactCriticalSrs+ " critical!"; } } else { str = str + "There are no outstanding Service Requests for this contact"; } return str;
- 「発行」をクリックします。
ステップ2: 「担当者プロファイル」ページへの式フィールドの追加
- アクティブなサンドボックスに入ります。 ナビゲータから、 に移動します。
- 詳細レイアウトのコピーを作成し、ステップ1で作成した「Contact Engagement」フィールドを追加します。
- 変更内容を保存します。
ステップ3: 式フィールドのデータを移入するためのカスタム・ロールアップの作成
- サンドボックスから出て、 にナビゲートします。
- カスタム・ロールアップを作成し、「Contact Engagement」式フィールドをロールアップ属性として割り当てます。
- ロールアップをテストします。
- ロールアップで完全リフレッシュを実行します。
- ロールアップを公開します。
詳細なステップは、「ロールアップを設定するステップは何ですか。」のトピックを参照してください。
構成の最後に、「担当者の編集: プロファイル」ページの単一のフィールドに4つの属性すべてを示すロールアップが表示されます。 次に、サンプル画像を示します。
