Share via


Représentation des données historiques dans Analytics

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Vous spécifiez des jeux d’entités spécifiques pour créer des rapports sur les données historiques ou créer des rapports de tendance. Il est important de comprendre comment Analytics enregistre les données historiques pour vous assurer que vous pouvez suivre et signaler les données qui vous intéressent.

Jeux d’entités qui prennent en charge les rapports historiques

Le tableau suivant décrit les jeux d’entités que vous pouvez utiliser pour créer des rapports d’historique ou de tendance.

EntitySet Description Exemple de rapport
WorkItemBoardSnapshot (Composite) État de chaque élément de travail à chaque date du calendrier, y compris l’emplacement du tableau Kanban. Exemple de rapport de diagramme de flux cumulé (CFD)
WorkItemRevisions Toutes les révisions d’éléments de travail historiques, y compris la révision actuelle. N’inclut pas les éléments de travail supprimés. Retourner l’historique d’un élément de travail spécifique
WorkItemSnapshot (Composite) État de chaque élément de travail à chaque date du calendrier. Exemple de rapport sur les tendances des bogues
ParallelPipelineJobsSnapshot (Composite) Prend en charge la compréhension de la consommation de pipeline parallèle.
TaskAgentPoolSizeSnapshots (Composite) Prend en charge la compréhension de la taille du pool, des travaux de pipeline et de la concurrence. Graphique historique pour les pools d’agents
TaskAgentRequestSnapshots (Composite) Prend en charge la création de rapports sur les demandes de l’agent de tâche.
TestPointHistorySnapshot (Composite) Résultats d’exécution individuels pour un test spécifique associé à un TestRun. Exemple de rapport sur les tendances d’exécution de tests manuels
TestResultsDaily Un instantané’agrégat quotidien des exécutions testResult, regroupées par Test. Exemple de rapport de tendance de résumé des tests

Un instantané fournit un enregistrement des valeurs définies pour le type d’entité chaque jour. L’enregistrement est écrit dans Analytics une fois par jour à la même heure chaque jour. Vous utilisez des instantanés lorsque vous souhaitez générer un rapport de tendance. Par défaut, toutes les tables instantané sont modélisées comme des tables de faits instantané quotidiennes. Si vous interrogez un intervalle de temps, il obtient une valeur pour chaque jour. Les intervalles de temps longs entraînent un grand nombre d’enregistrements. Si vous n’avez pas besoin d’une telle précision, vous pouvez utiliser des instantanés hebdomadaires ou même mensuels.

Tables de faits instantané périodiques

Analytics modélise les données historiques sous la forme d’une table de faits instantané périodique. La table de faits contient une ligne créée à minuit pour chaque élément de travail ou type d’entité à la fin de chaque période. Par exemple, l’historique d’une période quotidienne est modélisé comme une ligne à minuit pour chaque jour, tandis qu’une période hebdomadaire correspond à une ligne à minuit du dernier jour de la semaine. Si la semaine n’est pas terminée, la valeur instantané pour la semaine est basée sur la valeur actuelle.

Le grain de cette table est la période, et non l’élément de travail individuel. Cela signifie qu’un seul élément de travail apparaîtra plusieurs fois, une fois pour chaque période historique. La sélection des 30 derniers jours d’historique entraîne l’apparition d’un seul élément de travail 30 fois dans le modèle de données. Si l’élément de travail n’a pas changé au cours des 30 derniers jours, la révision la plus récente de l’élément de travail est répliquée chaque jour.

Lorsque vous utilisez le connecteur de données Power BI et les données historiques, nous vous recommandons d’utiliser le Date champ . Si le jeu de données contient des données historiques, mais que seules les valeurs actuelles sont nécessaires, vous pouvez le configurer en filtrant Is Current.

Par exemple, si vous souhaitez afficher une table d’éléments de travail et de valeurs pour les champs associés, vous utiliserez Is Current comme filtre défini sur True. Si vous souhaitez afficher une tendance des éléments de travail en fonction de l’état, vous devez inclure la colonne Date sur l’axe de la visualisation.

Conseil

Utilisez toujours l’option Date lorsque vous utilisez la colonne Date. Le champ Date n’est pas destiné à prendre en charge les hiérarchies par défaut dans Power BI.

Menu Date power BI des options

Révisions d’éléments de travail

Chaque fois que vous mettez à jour un élément de travail, le système crée une révision et enregistre cette action dans le System.RevisedDate champ, ce qui la rend utile pour spécifier un filtre d’historique. La date révisée est représentée par RevisedDate les propriétés (DateTime) et RevisedDateSK (Int32). Pour de meilleures performances, utilisez la dernière clé de substitution de date. Il représente la date de création d’une révision ou la valeur Null pour les révisions actives ou incomplètes.

Si vous souhaitez toutes les dates depuis le {startDate} inclus, ajoutez le filtre suivant à votre requête.

RevisedDateSK eq null or RevisedDateSK gt {startDateSK}

Vous utilisez le jeu d’entités WorkItemRevisions pour charger toutes les révisions d’un élément de travail donné. La requête retourne toutes les révisions d’éléments de travail historiques, y compris la révision actuelle, pour les éléments de travail sur lesquels vous filtrez. Il n’inclut pas les éléments de travail supprimés.

Conseil

Pour créer un rapport de tendance de suivi du travail, créez ou modifiez une vue Analytics par défaut et spécifiez le délai d’intérêt sous l’onglet Historique . Pour plus d’informations, consultez Créer une vue Analytics.

Les vues Analytics et les widgets Burndown et Burnup vous permettent de configurer des filtres qui définissent le jeu de données à vos besoins. Vous appliquez des filtres pour étendre les données à des équipes spécifiques, à des types d’éléments de travail ou à des backlogs spécifiques. Les filtres peuvent également s’appliquer à des propriétés ou des champs spécifiques et à leurs valeurs correspondantes. Par exemple, vous pouvez appliquer des filtres sur les éléments de travail pour renvoyer uniquement les bogues définis pour l’équipe Fabrikam Voice et étiquetés avec customer.

Comment les filtres sont appliqués aux données historiques

Des filtres sont appliqués à chaque révision d’un élément de travail. Par exemple, supposons que nous avons un élément de travail qui a les révisions suivantes :

Rev # Date de révision ID Titre État Chemin de la zone Balises
1 Janv-01 1001 Un bogue Nouveau
2 Jan-02 1001 Un bogue Nouveau /Amiraux
3 Jan-10 1001 Un bogue Actif /Amiraux
4 Janv-12 1001 Un bogue Actif /Amiraux Customer
5 Janv-20 1001 Un bogue Résolu /Amiraux Customer
6 (Actuel) 28 janvier 1001 Un bogue Fermés /Amiraux Customer

La dernière révision (#6) est la révision actuelle de l’élément de travail. Dans les vues Analytics, si vous avez sélectionné « Actuel uniquement » sous l’onglet Historique, vous obtenez une ligne de données pour cet élément de travail, la ligne active.

Lors de la création de rapports sur l’historique, nous pourrions potentiellement extraire les révisions 1 à 6 pour la création de rapports.

Supposons que lors de la création d’une vue Analytics ou de la configuration du widget Burndown, vous définissez ces deux filtres :

  • Chemin d’accès de zone = /Admirals
  • Les balises contiennent customer

L’application de ces filtres à l’ensemble de révisions d’éléments de travail donne les correspondances suivantes :

Vous correspondez ? Rev # Date de révision ID Titre État Chemin de la zone Étiquettes
Icône non correspondante. 1 Janv-01 1001 Un bogue Nouveau
Icône non correspondante. 2 Jan-02 1001 Un bogue Nouveau /Amiraux
Icône non correspondante. 3 Jan-10 1001 Un bogue Actif /Amiraux
Icône correspondant. 4 Janv-12 1001 Un bogue Actif /Amiraux Customer
Icône correspondant. 5 Janv-20 1001 Un bogue Résolu /Amiraux Customer
Icône correspondant. 6 (Actuel) 28 janvier 1001 Un bogue Fermés /Amiraux Customer

Les révisions 1, 2 et 3 ne correspondent pas, car ces révisions ne correspondent pas aux filtres. L’élément de travail ci-dessus n’apparaît pas dans votre jeu de données ou votre graphique de tendance avant la révision 4 ou le 12 janvier.

Supposons que vous souhaitiez signaler votre tendance des bogues actifs. Vous devez créer un filtre État = Actif. Ces filtres correspondent aux révisions suivantes :

Vous correspondez ? Rev # Date de modification ID Titre État Chemin de la zone Étiquettes
Icône non correspondante. 1 Janv-01 1001 Un bogue Nouveau
Icône non correspondante. 2 Jan-02 1001 Un bogue Nouveau /Amiraux
Icône correspondant. 3 Jan-10 1001 Un bogue Actif /Amiraux
Icône correspondant. 4 Jan-12 1001 Un bogue Actif /Amiraux Customer
Icône Non mis en correspondance. 5 Jan-20 1001 Un bogue Résolu /Amiraux Customer
Icône Non mis en correspondance. 6 (actuel) Jan-28 1001 Un bogue Fermés /Amiraux Customer

Les filtres correspondent uniquement aux révisions 3 et 4 de l’élément de travail, et incluent uniquement les révisions du 10 janvier et du 12 janvier dans votre graphique de tendance.

Qu’est-ce que cela signifie pour Burndown ou Burnup ?

Lorsque vous configurez un widget Burndown ou Burnup qui filtre une balise donnée (par exemple, « Client »), les éléments de travail n’apparaissent pas dans votre burndown tant que la balise n’est pas définie pour l’élément de travail. Si, à un moment donné, la balise est supprimée de l’élément de travail, l’élément de travail est à partir du burndown après la date à laquelle la balise a été supprimée.

Certains ont supposé que si la version actuelle d’un élément de travail a la balise, elle sera incluse dans le burndown rétroactivement à partir du début. Par exemple, si la version actuelle de l’élément de travail a la balise « Customer », il a été supposé que l’élément de travail serait inclus dans le burndown à partir du point où l’élément de travail a été créé.

Ce n’est pas le fonctionnement du filtrage historique. Si les filtres étaient appliqués uniquement en fonction de la version actuelle d’un élément de travail, les graphiques de tendance ne fonctionneraient pas. Vous ne pouvez pas supprimer un élément de votre burndown en supprimant une balise ou en définissant le chemin d’accès à la zone d’une autre équipe.

Notes

Nous envisageons d’ajouter un opérande « was ever » aux critères de filtre dans les vues analytics et les widgets tels que Burndown/Burnup. Cette fonctionnalité vous permet de créer un filtre comme : « L’état était toujours actif ». Cela signifie qu’une révision d’élément de travail correspond aux critères de filtre si une révision de l’élément de travail a déjà eu État = Actif. Si vous pensez que cette fonctionnalité est importante, vous pouvez voter pour elle sur notre site Developer Community.

Données historiques et suspension ou désactivation de l’analytique

La mise en pause de l’analytique conserve vos données, mais arrête les travaux intermédiaires de mise à jour de vos données. Vous pouvez reprendre le service ultérieurement et vos données sont ensuite mises à jour.

Si un administrateur désactive Analytics, tous les travaux intermédiaires Analytics sont désactivés et les données Analytics stockées dans les tables Analytics sont supprimées. Toutes les données Analytics qui capturent les tendances historiques sont perdues. Elle ne supprime aucune autre donnée stockée dans votre collection. Vous ne pouvez pas annuler cette action. Une fois les données historiques et les données de tendance supprimées, vous ne pouvez pas les restaurer. La réactivation de Analytics ne restaure pas les données historiques.

Une fois Analytics désactivé ou supprimé, les actions suivantes se produisent :

  • Aucun travail intermédiaire n’est exécuté et les tables Analytics n’auront pas d’informations mises à jour.
  • Les données de table sont supprimées et, si Analytics est réactivé, toutes les données sont remplies à nouveau à partir de zéro.

Pour plus d’informations, consultez Installer ou activer le service Analytics.

Récapitulatif

Pour reformuler, lors de la création de rapports sur des données historiques, tous les filtres sont appliqués à la version de l’élément de travail à partir du point historique dans le temps. Les éléments de travail apparaissent dans votre tendance lorsqu’ils répondent aux critères de filtre. Ils disparaissent de votre tendance quand ils ne répondent plus aux critères de filtre.