Ajouter des critères d’objectifs complexes

Utilisez une entité Rollup Query (GoalRollupQuery) pour ajouter des critères complexes à un objectif. Par exemple, vous pouvez spécifier des revenus pour un produit spécifique ou le revenu généré dans un secteur de vente spécifique.

Différents objectifs peuvent utiliser la même requête de cumul. Toutefois, une requête de cumul associée à un objectif particulier s’applique uniquement à cet objectif. Une requête de cumul spécifiée pour un objectif parent ne se propage pas à l’objectif enfant. Un objectif enfant peut utiliser la même requête ou une requête différente. Une requête de cumul doit utiliser les mêmes types d’entités qui sont définis dans les enregistrements du champ cumulatif associés à l’objectif. Si l’objectif suit des revenus de commandes, mais que la requête associée utilise l’entité opportunité, une exception est levée lorsque vous créez ou mettez à jour l’enregistrement d’objectif.

Note

Le nombre maximal d’enregistrements pouvant être renvoyés dans une requête de cumul des objectifs est de 5000.

Pour spécifier les critères de requête, utilisez l’attribut GoalRollupQuery.FetchXml. Pour spécifier le type d’entité pour la requête, utilisez l’attribut GoalRollupQuery.QueryEntityType.

Note

Les tables pouvant être spécifiées dans l’attribut GoalRollupQuery.QueryEntityType doivent avoir les attributs EntityMetadata suivants définis sur true : IsValidForAdvancedFind, IsUserOwned, IsCustomizable et CanCreateAttributes. Les tables suivantes ne peuvent pas être spécifiées dans cet attribut : SharePointDocumentLocation, SharePointSite et MailMergeTemplate.

Selon le type de métrique d’objectif, vous pouvez utiliser les requêtes pour filtrer les données réelles, en cours ou personnalisées de montant ou de décompte. Le tableau suivant montre les types de mesure de l’objectif et les attributs d’entité d’objectif nécessaires pour spécifier les requêtes pour chaque type.

Type d’indicateur d’objectif Attributs de requête de cumul
Montant (monétaire) Goal.RollUpQueryActualMoneyId

Goal.RollUpQueryCustomMoneyId

Goal.RollUpQueryInprogressMoneyId
Montant (entier) ou Nombre Goal.RollupQueryActualIntegerId

Goal.RollUpQueryCustomIntegerId

Goal.RollUpQueryInprogressIntegerId
Montant (décimal) Goal.RollUpQueryActualDecimalId

Goal.RollUpQueryCustomDecimalId

Goal.RollUpQueryInprogressDecimalId

La requête relative aux enregistrements participant à l’objectif pour un attribut d’agrégation donné doit inclure les clauses suivantes :

  • Une valeur Goal.ConsiderOnlyGoalOwnersRecords.

  • Une expression FetchXML spécifiée dans GoalRollupQuery.FetchXml.

  • La plage de dates (RollupField.DateAttribute), l’état et le statut spécifiés dans le champ de cumul correspondant pour l’indicateur d’objectif référencé.

Empêcher le double comptage et d’autres résultats erronés

Les requêtes permettent de filtrer efficacement les résultats d’une agrégation. Toutefois, si vous ne les utilisez pas soigneusement, ils peuvent introduire un double comptage ou d’autres résultats erronés. Les exemples suivants montrent comment les requêtes peuvent contribuer aux résultats indésirables :

  • Vous suivez les commandes clients d’un commercial donné. Toutefois, le cumul ne retourne aucune commande commerciale. Ce scénario peut se produire si la requête que vous avez utilisée filtre les territoires où le vendeur a des clients.

  • Vous définissez deux objectifs pour un commercial. Un objectif suit les opportunités pour un produit spécifique et un autre objectif suit les opportunités dans un secteur de vente particulier. Si l’opportunité inclut la vente du produit spécifié dans le secteur spécifié, le revenu de cette opportunité est inclus dans les deux objectifs. Si les objectifs partagent le même objectif parent, leurs totaux sont ajoutés à l’objectif parent, ce qui entraîne un double comptage.

    Vous pouvez éviter le double comptage et d’autres résultats erronés en suivant les recommandations suivantes :

  • Définissez l’attribut Goal.ConsiderOnlyGoalOwnersRecords sur true pour utiliser uniquement les enregistrements appartenant au propriétaire de l’objectif.

  • N’attribuez pas plusieurs objectifs à un commercial pour la même période.

  • N’utilisez pas de requête si vous ne savez pas qu’elle fournira les résultats attendus.

Tables Gestion des objectifs
Exemple : utiliser les requêtes de report pour suivre les objectifs
Reporter le total des objectifs