目標指標とロールアップ フィールドを定義する
目標指標の種類、参加するテーブル、および実績データ、ユーザー定義データ、または進行中データのどれを追跡するかを指定するには、目標指標テーブル (Metric
) とロールアップ フィールド (RollupField
) テーブルを使用します。 目標指標およびロールアップ フィールドは、親キュー レコードのすべての操作が子キュー アイテム レコードに伝播される上位下位の関連付けがあります。 上位下位の関連付け、および伝播規則の詳細については、テーブルの関連付け動作を参照してください。
重要
同じ階層に含まれるすべての目標は、同じ目標指標と期間に基づく必要があります。 異なる目標指標に基づいて下位の目標を作成すると、例外がスローされます。 上位の目標と異なる期間を下位の目標に設定した場合、指定した期間は無視され、上位の目標の期間が優先して適用されます。 目標に上位および下位の目標が存在しなければ、新しい目標指標を目標に関連付けることができます。 それ以外の場合は、目標のレコードを更新した時点で例外がスローされます。
目標指標の作成
金額と件数の 2 種類の目標指標があります。 金額は、金銭の値、整数、または 10 進数の値で表現します。 件数は、整数の値です。 たとえば、金額 (金銭) の目標指標を使用して、すべてのアクティブな営業案件または受注から得られる売上高を追跡できます。 整数型は、営業担当者がかけた営業の電話を追跡するために使用できます。 10 進数の値は、穀物や砂糖など、重量を単位に販売される製品を表すことができます。
目標指標の種類や、データを対象または拡大対象に対して追跡するかどうかを指定するには、目標指標テーブル (Metric
) を使用します。 金額または件数を選択するには、Metric.IsAmount
属性を使用します。 金額のデータの種類を指定するには、Metric.AmountDataType
属性を使用します。
metric_goaltype
グローバル オプション セットで、この属性に指定できる値が定義されます。 データを対象または拡大対象に対して追跡するかどうかを指定するには、Metric.IsStretchTracked
属性を使用します。 目標を指標に関連付けるには、Goal.MetricId
属性を使用します。
次に示す図のように、目標は実績データ、進行中データ、およびユーザー定義データによって追跡できます。
実績データ、進行中データ、およびユーザー定義データを追跡するには、ロールアップ フィールドと呼ばれる目標テーブル属性を使用します。 たとえば、営業案件を "受注" としてクローズした場合、その営業案件から得られた売上高を実績金額ロールアップ フィールドにロールアップできます。 または、営業案件が "オープン" の場合は、営業案件から得られる売上高の予測値を進行中金額ロールアップ フィールドに追加できます。 次の表に、目標指標の種類と種類ごとに使用できるロールアップ フィールドの関係を示します。
目標指標の種類 | 使用可能なロールアップ フィールド |
---|---|
金額 (金額型) | Goal.ActualMoney Goal.InProgressMoney Goal.CustomRollupFieldMoney |
金額 (整数型) または件数 | Goal.ActualInteger Goal.InProgressInteger Goal.CustomRollupFieldInteger |
金額 (小数型) | Goal.ActualDecimal Goal.InProgressDecimal Goal.CustomRollupFieldDecimal |
他に、Lead.EstimatedAmount
や OpportunityClose.ActualRevenue
などのロールアップ データもあります。これらは、それぞれ Goal.InProgressMoney
および Goal.ActualMoney
ロールアップ フィールドにロールアップできます。 ユーザー定義ロールアップ フィールドは、整数値、10 進数値、および金額値の格納に使用できる追加フィールドです。
ロールアップ フィールドの指定
他の重要なロールアップ情報は、ロールアップ フィールド テーブルを使用して指定します。
Attribute | ロールアップ情報 |
---|---|
RollupField.GoalAttribute |
目標ロールアップ フィールド。Goal.ActualMoney 、Goal.CustomRollupFieldMoney 、Goal.InProgressMoney など。 |
RollupField.SourceEntity |
ロールアップするデータがあるソース テーブル。リード、営業案件、受注など。 |
RollupField.SourceAttribute |
ロールアップするデータがあるテーブル属性。Opportunity.ActualValue 、Lead.EstimatedValue など。 ソース属性と目標ロールアップ フィールドは、同じ種類 (金銭または整数など) にする必要があります。種類が異なると、ロールアップ レコードを作成した時点で例外がスローされます。 |
RollupField.DateAttribute |
目標の期間を検証した日付。Opportunity.ActualCloseDate 、Lead.EstimatedCloseDate など。 指定した日付が目標の開始日と終了日の間であれば、レコードは目標ロールアップに参加します。 たとえば、営業案件が目標の開始日と終了日の間にクローズされた場合、その営業案件から得られた売上高は目標の総売上に加算されます。それ以外の場合は加算されません。 |
RollupField.SourceState |
ソース レコードの状態。"受注" または "失注" 営業案件など。 |
RollupField.SourceStatus |
ソース レコードの状態のステータス。受注した営業案件の "受注"、失注した営業案件の "取り消し" または "非売" など。 |
RollupField.IsStateParentEntityAttribute |
状態またはステータスが親テーブルに属するかどうかを示します。 たとえば、固有の状態を持たない営業案件製品の場合、上位営業案件レコードの状態とステータスを使用できます。 |
目標指標ごとに最大 3 つのロールアップ フィールド レコードを作成できます。 各レコードは、実績、進行中、またはユーザー定義の金額または件数を指定できます。 すべてのロールアップ フィールド レコードに同じソース テーブルを使用したり、複数のソース テーブルを使用することができます。 たとえば、指標の種類が金額に指定された目標には、営業案件テーブルをソース テーブルとして使用し、Opportunity.ActualValue
をソース属性として使用できます。 こうすることで、"受注" としてクローズされたすべての営業案件で実績の金額を追跡できます。 Opportunity.EstimatedValue
は、営業案件がクローズされた後で予想される売上高を追跡するために使用できます。