Définir des colonnes cumulatives qui agrègent des valeurs

Les colonnes cumulatives permettent aux utilisateurs d’obtenir un aperçu des données grâce au suivi des mesures métier clés. Une colonne cumulative contient une valeur agrégée calculée sur les lignes associées à une ligne spécifique. Cela inclut les tables habituelles et les tables d’activités telles que des e-mails et des rendez-vous.

Dans les scénarios plus complexes, vous pouvez agréger des données sur la hiérarchie de lignes. En tant qu’administrateur ou personnalisateur, vous pouvez définir des colonnes cumulatives à l’aide des outils de personnalisation contenus dans Power Apps, sans qu’il soit nécessaire d’écrire du code.

Avantages et fonctionnalités des colonnes cumulatives

Les avantages et les fonctionnalités des colonnes cumulatives sont les suivants :

  • L’édition visuelle est facile. Vous pouvez créer des colonnes cumulatives à l’aide de l’éditeur de colonnes, comme vous le faites lorsque vous créez une colonne standard.
  • Large éventail de fonctionnalités d’agrégation. Vous pouvez agréger des données à l’aide des fonctions suivantes : SUM, COUNT, MIN, MAX et AVG.
  • Prise en charge totale des filtres pour l’agrégation. Vous pouvez définir divers filtres pour la table source ou la table associée en définissant plusieurs conditions.
  • Intégration parfaite à l’interface utilisateur. Vous pouvez inclure les colonnes cumulatives dans les formulaires, les vues, les graphiques et les rapports.
  • Les colonnes cumulatives sont des composants de solution. Vous pouvez facilement les transférer en tant que composants entre les environnements et les distribuer dans les solutions.
  • Les colonnes cumulatives et les colonnes calculées sont complémentaires. Vous pouvez utiliser une colonne cumulative en tant que partie de la colonne calculée, et inversement.
  • Vous pouvez configurer des colonnes cumulatives pour utiliser des contrôles personnalisés.

Quelques exemples de colonnes cumulatives :

  • Total du revenu estimé des opportunités ouvertes d’un compte
  • Total du revenu estimé des opportunités ouvertes sur tous les comptes d’une hiérarchie
  • Total du revenu estimé d’une opportunité comportant des opportunités enfants
  • Valeur estimée totale des prospects qualifiés générés par une campagne
  • Nombre d’incidents ouverts à priorité élevée sur tous les comptes d’une hiérarchie
  • Heure de création la plus ancienne de tous les incidents ouverts à priorité élevée pour un compte

Chaque colonne de cumul crée deux colonnes accessoires avec le modèle de suffixe <columnname>_date et <columnname>_state. La colonne _date contient des données de date et heure et la colonne _state contient des données de type Entier. La colonne _state contient les valeurs suivantes :

valeur État Description
0 NonCalculé La valeur de la colonne n’a pas encore été calculée.
1 Calculé La valeur de la colonne a été calculée en fonction de l’heure de la dernière mise à jour dans la colonne _date.
2 OverflowError Le calcul de la valeur de colonne a entraîné une erreur de dépassement de capacité.
3 OtherError Le calcul de la valeur de colonne a échoué à la suite d’une erreur interne. L’exécution suivante de la tâche de calcul résoudra probablement cette erreur.
4 Limite de tentatives dépassée Le calcul de la valeur de colonne a échoué car le nombre maximal de nouvelles tentatives pour calculer la valeur a été dépassé en raison du nombre élevé de conflits de simultanéité et de verrouillage.
5 Limite de récursion hiérarchique atteinte Le calcul de la valeur de colonne a échoué car la limite maximale de détail de la hiérarchie du calcul a été atteinte.
6 LoopDetected Le calcul de la valeur de colonne a échoué car une boucle récursive a été détectée dans la hiérarchie de la ligne.
7 Devise manquante Le calcul de la valeur de la colonne a échoué car la devise de champ requise est manquante.

Calculs de synthèse

Les cumuls sont calculés par des tâches système planifiées qui sont exécutées de façon asynchrone en arrière-plan. Vous devez être un administrateur pour afficher et gérer les tâches de regroupement.

Afficher les tâches de consolidation

Pour afficher les tâches de cumul :

  1. Connectez-vous à Power Apps, puis sélectionnez l’environnement souhaité.
  2. Sélectionnez Paramètres (engrenage) >Paramètres avancés.
  3. Dans le volet de navigation gauche, sélectionnez Travaux système.
  4. Dans le sélecteur de vue, choisissez Tâches système récurrentes.
  5. Pour trouver rapidement un emploi pertinent, vous pouvez filtrer par Type de travail système : Calculer le champ de cumul en masse ou Calculer le champ de cumul.

Calculer massivement le champ de cumul

La tâche Calculer en masse le champ cumulatif est une tâche récurrente, créée pour chaque colonne cumulative. Elle s’exécute une seule fois, après la création ou la mise à jour d’une colonne cumulative. La tâche recalcule la valeur spécifiée de la colonne cumulative dans l’ensemble des enregistrements existants contenant cette colonne. Par défaut, la tâche est exécutée 12 heures après la création ou la mise à jour d’une colonne. Lorsque la colonne est modifiée, la tâche est redéfinie pour s’exécuter à nouveau 12 heures après la mise à jour. Le délai de 12 heures est nécessaire pour garantir que la fonction de calcul cumulatif en masse s'exécute en dehors des heures opérationnelles de l'environnement.

Nous recommandons qu’un administrateur ajuste l’heure de début d’une tâche de calcul en masse du champ de cumul une fois la colonne cumulative créée ou modifiée, afin qu'elle s'exécute en dehors des heures de fonctionnement. Par exemple, exécuter la tâche à minuit serait un bon choix pour garantir un traitement efficace des colonnes cumulatives.

Notez que, lorsqu’il arrive qu’une colonne de cumul n’est jamais mise à jour, la tâche Calculer en masse le champ cumulatif ne s’exécute à nouveau pour cette colonne qu’après 10 ans. Ce comportement est intentionnel. Lorsqu’il n’y a aucune mise à jour dans les colonnes sous-jacentes associées au champ cumulatif, il n’y a aucune raison d’exécuter la tâche plus fréquemment.

Calculer le champ rollup

La tâche Calcul des colonnes cumulatives est une tâche récurrente qui effectue des calculs incrémentiels de toutes les colonnes cumulatives dans les lignes existantes d’une table spécifiée. Il n’existe qu’une seule tâche Calculer le champ cumulatif par table. Les calculs incrémentiels signifient que la tâche Calculer le champ cumulatif traite les lignes créées, supprimées ou mises à jour après la dernière exécution terminée de la tâche Calculer en masse le champ cumulatif. Le paramètre de récurrence minimum par défaut est d’une heure. La tâche est automatiquement créée lorsque la première colonne cumulative d’une table est créée et supprimée lorsque la dernière colonne cumulative est supprimée.

Option de nouveau calcul en ligne

La colonne cumulative du formulaire affiche une image de calculatrice, une valeur de cumul et l’heure du dernier calcul. Pour recalculer, sélectionnez l’image de la calculatrice, puis sélectionnez le bouton Recalculer qui apparaît.

Colonne cumulative dans le formulaire de compte.

Vous devez tenir compte de certaines considérations lorsque vous utilisez l’option de nouveau calcul en ligne (actualisation manuelle du formulaire) :

  • Vous devez disposer de privilèges d'écriture sur la table et de droits d'accès en écriture sur la ligne source pour laquelle vous demandez l'actualisation. Par exemple, si vous calculez le revenu estimé des opportunités ouvertes d’un compte, il n’est pas nécessaire de disposer de privilèges d’écriture sur la table des opportunités, mais seulement sur la table des comptes.
  • Cette option est disponible uniquement pour le mode en ligne. Vous ne pouvez pas l’utiliser en mode hors connexion.
  • Le nombre maximal de lignes durant l’actualisation cumulative est limité à 50 000 lignes. En cas de cumul hiérarchique, ceci s’applique aux lignes associées dans la hiérarchie. Si la limite est dépassée, un message d’erreur s’affiche : Les calculs ne peuvent pas être effectués en ligne car la limite de calcul de 50 000 lignes associées a été atteinte. Cette limite ne s’applique pas lorsque le cumul est automatiquement recalculé par les tâches système.
  • La profondeur maximale de la hiérarchie est limitée à 10 pour la ligne source. Si la limite est dépassée, un message d’erreur s’affiche : Les calculs ne peuvent pas être effectués en ligne car la limite de profondeur de hiérarchie de 10 pour la ligne source a été atteinte. Cette limite ne s’applique pas lorsque le cumul est automatiquement recalculé par les tâches système.

Modifier la récurrence des tâches de cumul de données

En tant qu’administrateur système, vous pouvez modifier le schéma de récurrence de la tâche de rollup, ainsi que reporter, suspendre ou reprendre cette tâche. Toutefois, vous ne pouvez pas annuler ou supprimer une tâche de regroupement.

Pour suspendre, reporter, reprendre ou modifier le modèle de récurrence, vous devez afficher les tâches système. Pour plus d'informations Afficher les tâches de Rollup

Dans la barre de navigation, choisissez Actions et sélectionnez l’action que vous souhaitez.

Pour la tâche Calculer en masse le champ cumulatif, les choix possibles sont : Reprendre, Reporter et Suspendre.

Pour la tâche Calculer le champ cumulatif, les choix possibles sont : Modifier la périodicité, Reprendre, Reporter et Suspendre.

Exemples

Étudions quelques exemples de colonne récapitulative. Nous agrégerons les données d’une ligne à partir des lignes associées, avec et sans hiérarchie. Nous agrégerons également les données d’une ligne à partir des activités liées directement et indirectement à une ligne, via la table ActivityParty. Dans chaque exemple, nous définissons la colonne cumulative à l’aide de l’éditeur de colonnes. Pour ouvrir l’éditeur de colonnes, ouvrez l’explorateur de solutions et développez Composants>Tables. Sélectionnez la table souhaitées, puis cliquez sur Colonnes. Choisissez Nouveau. Dans l’éditeur, fournissez les informations requises pour la colonne, notamment le Type de colonne et le Type de données. Dans Type de colonne, sélectionnez Cumul, après avoir sélectionné le type de données. Les types de données incluent les nombres décimaux ou entiers, les devises et la date/heure. Choisissez le bouton Modifier à côté du Type de colonne. Vous accédez à l’éditeur de définition de la colonne cumulative. La définition de la colonne cumulative est composée de trois sections : Table source, **Table associée et Agrégation.

  • Dans la section Table source, vous spécifiez la table pour laquelle la colonne cumulative est définie et si vous effectuez l’agrégation via une hiérarchie. Vous pouvez ajouter des filtres avec plusieurs conditions pour spécifier les lignes de la hiérarchie que vous souhaitez utiliser pour l'agrégation.

  • Dans la section Table associée, vous spécifiez la table sur laquelle vous effectuez l’agrégation. Cette section est facultative lorsque vous choisissez d'agréger par la hiérarchie dans la table source. Vous pouvez ajouter des filtres avec plusieurs conditions pour spécifier les lignes associées à utiliser dans le calcul. Par exemple, vous incluez le revenu des opportunités ouvertes avec un revenu annuel supérieur à 1 000 $.

  • Dans la section Agrégation, vous spécifiez la mesure vous souhaitez calculer. Vous pouvez choisir les fonctions d’agrégation disponibles, par exemple SUM, COUNT, MIN, MAX ou AVG.

Dans cet exemple, une hiérarchie n’est pas utilisée. Le revenu estimé total est calculé pour un compte, à partir des opportunités ouvertes associées.

Agréger le revenu estimé pour un compte.

Données agrégées d’une ligne à partir des lignes enfants, via la hiérarchie

Dans cet exemple, nous calculons le revenu estimé total d’une opportunité incluant les opportunités enfants, via la hiérarchie.

Agréger le revenu estimé, hiérarchie d’opportunité.

Dans cet exemple, nous calculons le revenu estimé total des opportunités ouvertes sur tous les comptes, via la hiérarchie.

Revenu estimé agrégé dans la hiérarchie des comptes.

Dans cet exemple, nous calculons le temps total passé et facturé à partir de toutes les activités associées à un compte. Cela peut inclure le temps passé au téléphone, en rendez-vous ou dans les activités personnalisées.

Dans les versions précédentes, vous pouviez définir une colonne cumulative pour une activité individuelle telle qu’un appel téléphonique, une télécopie ou un rendez-vous. Mais pour obtenir le résultat de l’exemple ci-dessous, vous deviez faire le total des données en utilisant les colonnes calculées. Maintenant, vous pouvez tout faire en une seule étape en définissant une colonne cumulative pour la table des activités.

Regrouper toutes les activités d'un compte.

Dans cet exemple, nous comptons le nombre total de messages électroniques envoyés à un compte, où le compte est répertorié dans la ligne « Au destinataire » ou à la ligne « Cc au destinataire ». Cela se fait en indiquant le Type de participation dans les FILTRES pour la table Groupe d’activité dans la définition de la colonne cumulative. Si vous n’utilisez pas le filtrage, alors tous les types de participation disponibles pour une activité sont utilisés dans le calcul.

Pour plus d’informations sur la table Activity Party et les types de participation disponibles pour une activité spécifique, voir Activity Party table.

Activités relatives au regroupement et parties prenantes d’activité.

Dans cet exemple, nous calculons un chiffre d’affaires moyen estimé à partir de toutes les opportunités associées à un compte.

Revenu estimé moyen dans Dynamics 365.

L’exemple suivant explique comment calculer un chiffre d’affaires moyen estimé à partir des opportunités associées sur une hiérarchie de comptes. Un chiffre d’affaires moyen estimé peut être disponible à chaque niveau de la hiérarchie.

Revenu estimé moyen dans la hiérarchie dans Dynamics 365.

Considérations sur les colonnes de récapitulation

Vous devez connaître certaines conditions et restrictions lorsque vous travaillez avec les colonnes cumulatives :

  • Par défaut, vous pouvez définir jusqu’à 200 colonnes cumulatives pour l’environnement et jusqu’à 50 colonnes cumulatives par table. Plus d’informations : Définir le nombre maximum de colonnes cumulatives dans un environnement ou une table
  • Un workflow ne peut pas se déclencher à partir des mises à jour des colonnes de synthèse.
  • Une condition d’attente de workflow ne peut pas utiliser une colonne cumulative.
  • Un regroupement sur la colonne de regroupement n’est pas pris en charge.
  • Un cumul ne peut pas faire référence à une colonne calculée qui utilise une autre colonne calculée, même si toutes les colonnes de l’autre colonne calculée se trouvent sur la table actuelle.
  • Un colonne cumulative ne se met pas à jour automatiquement si elle utilise une colonne de formule qui dépend de fonctions limitées dans le temps Now() et IsUTCToday(). L’option de recalcul en ligne (actualisation manuelle du formulaire) ou le bouton Recalculer doit être utilisé pour calculer la dernière valeur de la colonne cumulative.
  • Le cumul peut uniquement appliquer des filtres à la table source ou aux tables associées, aux colonnes simples ou aux colonnes calculées non complexes.
  • Une agrégation ne peut être effectuée que sur des tables associées avec une relation du type 1:N. Un cumul ne peut pas se produire sur les relations N à N.
  • Un cumul ne peut pas se produire sur la relation 1 à N de la table Activité ou de la table Groupe d’activité.
  • Les règles métier, les workflows ou les colonnes calculées utilisent toujours la dernière valeur calculée de la colonne cumulative.
  • Une colonne cumulative est agrégée sous le contexte de l’utilisateur système. Tous les utilisateurs peuvent afficher la même valeur de colonne cumulative. Vous pouvez contrôler la visibilité de la colonne cumulative avec la sécurité au niveau de la colonne (FLS), en restreignant qui peut accéder à la colonne cumulative. Pour plus d’informations, voir Sécurité au niveau des colonnes pour contrôler l’accès.

Définir le nombre maximum de colonnes cumulatives dans un environnement ou une table

Par défaut, vous pouvez définir jusqu’à 200 colonnes cumulatives pour l’environnement et jusqu’à 50 colonnes cumulatives par table.

Pour modifier les valeurs maximales, procédez comme suit :

  1. Accédez à Power Apps (make.powerapps.com), sélectionnez Table dans le volet de navigation de gauche, puis ouvrez la table Organisation.
  2. Sélectionnez la liste nplus, puis saisissez maxr dans la zone Rechercher. Sélectionnez les colonnes MaxRollupFieldsPerOrg et MaxRollupFieldsPerEntity, puis sélectionnez Enregistrer. Sélectionnez le nombre maximal de colonnes cumulatives pour augmenter les valeurs
  3. Modifiez les valeurs pour MaxRollupFieldsPerOrg (jusqu’à 200) et MaxRollupFieldsPerEntity (jusqu’à 50) que vous souhaitez.

Important

Avoir plus de 100 colonnes cumulatives pour un environnement peut entraîner une dégradation des performances des colonnes cumulatives et une augmentation de la consommation de stockage.

Arrondi de précision

Si la précision de la colonne agrégée est supérieure à la précision de la colonne cumulative, la précision de la colonne agrégée est arrondie à la précision de la colonne cumulative, avant d’exécution de l’agrégation. Pour illustrer ce comportement, regardons un exemple spécifique. Supposons que la colonne cumulative de la table de compte, pour calculer les revenus totaux estimés des opportunités associées, possède une précision de deux décimales. L'Estimation La colonne Revenu du tableau des opportunités est la colonne agrégée avec une précision de quatre décimales. Dans notre exemple, le compte a deux opportunités associées. La somme agrégée du revenu estimé est calculée comme suit :

  1. Revenu Revenu pour la première opportunité : 1 000,0041 $
  2. Estimé Revenu de la deuxième opportunité : 2 000,0044 €
  3. La somme agrégée du revenu Revenu : $1000.00 + $2000.00 = $3000.00

Comme vous pouvez le constater, l'arrondi à la précision sur deux décimales de la colonne agrégée a lieu avant l’opération d’agrégation.

Comportement différent des grilles associées

Certains formulaires de tables, tels que Compte ou Contact, contiennent les grilles associées par défaut. Par exemple, un formulaire Compte contient les Contacts, Incidents, Opportunités et autres grilles. Certaines des lignes indiquées dans les grilles du formulaire Compte sont directement liées à la ligne de compte, tandis que d'autres le sont indirectement, par les relations avec d’autres lignes. En comparaison, l’agrégation de colonnes cumulatives utilise uniquement des relations directes explicitement définies dans la définition des colonnes cumulatives. Aucune autre relation n’est prise en compte. Pour illustrer la différence de comportement, regardons l’exemple ci-après.

  1. Le compte A1 possède un contact principal, P1. L’incident C1 est associé au compte A1 (colonne C1.Customer = A1) et l’incident C2 est associé au contact P1 (colonne C2.Customer = P1).
  2. La grille Incidents du formulaire Compte pour la ligne A1 indique deux incidents, C1 et C2.
  3. La colonne cumulative de la table de compte, appelée Nombre total d’incidents, est utilisée pour compter les incidents associés au compte.
  4. Dans la définition de la colonne cumulative du compte, nous spécifions les cas qui ont une relation de client avec le compte. Après l’agrégation, le Nombre total d’incidents est égal à 1 (incident C1). L’incident C2 n’est pas inclus dans le total, car il est directement associé au contact, pas au compte, et ne peut pas être explicitement défini dans la définition de la colonne cumulative du compte. Par conséquent, le nombre total d’incidents renvoyés par l’opération de cumul ne correspond pas au nombre d’incidents affichés dans la grille Incidents.

Voir aussi

Créer et modifier des colonnes
Définir des colonnes calculées
Colonnes spécialisées
Comportement et format de la colonne Date et heure
Définir et interroger des données hiérarchiques