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 particulier. 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 au plus tôt de tous les incidents ouverts à priorité élevée pour un compte

Chaque colonne cumulative crée deux colonnes accessoires avec le modèle de suffixe <nom colonne>_date et <nom colonne>_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 Département Description
0 NotCalculated 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 RetryLimitExceeded 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 HierarchicalRecursionLimitReached 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 CurrencyMissing Le calcul de la valeur de la colonne a échoué car la devise de champ requise est manquante.

Calculs de cumuls

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 cumul.

Afficher les tâches de cumul

Pour afficher les tâches de cumul :

  1. Connectez-vous à Power Apps, puis sélectionnez l’environnement souhaité.
  2. Sélectionnez Paramètres utilisateur (engrenage) > Paramètres avancés.
  3. Sélectionnez Paramètres > Tâches système.
    Accéder aux tâches système.
  4. Dans le sélecteur de vue, choisissez Tâches système récurrentes.
  5. Pour trouver rapidement une tâche approprié, vous pouvez filtrer par type de tâche système : Calculer en masse le champ cumulatif ou Calculer le champ cumulatif.

Calculer en masse le champ cumulatif

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 tâche Calculer en masse le champ cumulatif s’exécute en dehors des heures de fonctionnement de l’environnement.

Nous recommandons qu’un administrateur ajuste l’heure de début d’une tâche Calculer en masse le champ cumulatif une fois la colonne cumulative créée ou modifiée, de telle sorte qu’elle s’exécute en dehors des heures de fonctionnement. Par exemple, l’heure appropriée pour exécuter la tâche est minuit, pour assurer 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 la colonne cumulative

La tâche Calculer la colonne cumulative est une tâche récurrente qui effectue des calculs incrémentiels de tous 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és ou mis à jour après la dernière exécution terminée de la tâche Calculer en masse la colonne cumulative. 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éé et supprimée lorsque la dernière colonne cumulative est supprimé.

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 sur 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 d’opportunité, uniquement sur la table de compte.
  • 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 sur la hiérarchie. Si la limite est dépassée, vous voyez le message d’erreur : Les calculs ne peuvent pas être effectués en ligne car la limite de calcul des 50 000 lignes associées a été atteinte. Cette limite ne s’applique pas lorsque le cumul est recalculé automatiquement par les tâches système.
  • La limite maximale de détail de la hiérarchie est définie sur 10 pour la ligne source. Si la limite est dépassée, vous voyez le message d’erreur : Les calculs ne peuvent pas être effectués en ligne, car la limite de détail de la hiérarchie de la ligne source, 10, a été atteinte. Cette limite ne s’applique pas lorsque le cumul est recalculé automatiquement par les tâches système.

Modifier la périodicité des tâches de cumul

En tant qu’administrateur système, vous pouvez modifier le critère de périodicité de la tâche de cumul, ainsi que reporter, suspendre ou reprendre cette tâche. Toutefois, vous ne pouvez pas annuler ou supprimer une tâche de cumul.

Pour suspendre, reporter, reprendre ou modifier le critère de périodicité, vous devez afficher les tâches système Pour plus d’informations Afficher les tâches de cumul

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.

Examples

Étudions quelques exemples de colonne cumulative. 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 associées directement et indirectement à une ligne, via l’entité 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 à utiliser pour le cumul.

  • 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 de cumuler sur la hiérarchie de 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.

Agréger le revenu estimé sur la hiérarchie de compte.

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 faire tout cela en une seule étape en définissant une colonne cumulative pour la table Activité.

Cumul de toutes les activités sur 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 Groupe d’activité et les types de tables disponibles pour une activité spécifique, voir Table ActivityParty.

Activités relatives au cumul et groupe 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 la colonne cumulative

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

  • Vous pouvez définir jusqu’à 200 colonnes cumulatives pour l’environnement et jusqu’à 50 colonnes cumulatives par table. Les valeurs par défaut actuelles et les valeurs maximales précédentes sont 100 par environnement et 10 par table. Plus d’informations : Définir le nombre maximum de colonnes cumulatives dans un environnement ou une table
  • Un workflow ne peut pas être déclenché par les mises à jour des colonnes cumulatives.
  • Une condition d’attente de workflow ne peut pas utiliser une colonne cumulative.
  • Un cumul sur la colonne cumulative 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 active.
  • 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.
  • Un cumul ne peut se produire que sur des tables associées avec la relation 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é dans le contexte d’utilisateur système. Tous les utilisateurs peuvent afficher la même valeur de colonne cumulative. Vous pouvez contrôler la visibilité des colonnes cumulatives avec la sécurité au niveau des colonnes, en limitant les utilisateurs qui peuvent accéder à ces colonnes. Pour plus d’informations : 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

Vous pouvez définir jusqu’à 200 colonnes cumulatives pour l’environnement et jusqu’à 50 colonnes cumulatives par table. Les valeurs par défaut actuelles et les valeurs maximales précédentes sont 100 par environnement et 10 par table.

Pour augmenter 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 n plus, 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. Le champ Colonne Revenu de la table d’opportunité est la colonne agrégée avec la 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 estimé de la première opportunité : 1 000,0041 $
  2. Revenu estimé de la deuxième opportunité : 2 000,0044 $
  3. La somme agrégée du revenu estimé : $1000.00 + $2000.00 = $3000.00

Comme vous pouvez le constater, la précision d’arrondi sur les deux premières 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, dès la livraison, contiennent les grilles associées. 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és à la ligne de compte. D’autres le sont indirectement, via 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é Nombre total d’incidents, est utilisé pour compter les incidents associés au compte.
  4. Dans la définition de la colonne cumulative du compte, nous spécifions les incidents qui ont la relation 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 Formule, Calculées et Cumulatives à l’aide d’un code
Comportement et format de la colonne Date et heure
Définir et interroger des données hiérarchiques

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).