Rapports d’exemples de sprint burndown
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Les graphiques sprint burndown sont utiles pour surveiller l’exécution d’une équipe sur son plan de sprint. Plusieurs graphiques intégrés et widgets de tableau de bord prennent en charge la surveillance du burndown de sprint. Consultez Configurer et surveiller le burndown de sprint.
Toutefois, vous pouvez personnaliser un graphique sprint burndown à l’aide d’Analytics et de Power BI avec les requêtes fournies dans cet article. L’exemple suivant montre un burndown des user Stories et de leurs états.
Important
- La suppression de chemins d’accès de zone ou la reconfiguration des chemins d’itération entraîne une perte de données irréversible. Par exemple, les graphiques de widgets burndown et burnup, sprint burndown et les graphiques de vélocité pour les équipes avec des chemins d’accès de zone modifiés n’affichent pas de données précises . Les graphiques de tendance historique référencent le chemin d’accès à la zone et le chemin d’itération, car ils ont été définis au moment de chaque élément de travail. Une fois supprimé, vous ne pouvez pas récupérer les données historiques pour ces chemins d’accès.
- Vous ne pouvez supprimer que des chemins d’accès de zone et d’itération qui ne sont plus utilisés par des éléments de travail.
Pour plus d’informations sur le burndown et le burnup, et les conseils sur burndown et burnup.
Remarque
Cet article part du principe que vous lisez la vue d’ensemble des exemples de rapports à l’aide de requêtes OData et que vous avez une compréhension de base de Power BI.
Prérequis
- Accès : être membre d’un projet avec au moins un accès de base .
- Autorisations : par défaut, les membres du projet ont l’autorisation d’interroger Analytics et de créer des vues.
- Pour plus d’informations sur les autres prérequis concernant l’activation du service et des fonctionnalités et les activités de suivi des données générales, consultez Autorisations et conditions préalables pour accéder à Analytics.
Exemples de requêtes
Les graphiques burndown nécessitent l’interrogation du jeu d’entités WorkItemSnapshot
pour obtenir des données historiques.
Notes
Pour déterminer les propriétés disponibles à des fins de filtre ou de rapport, consultez Informations de référence sur les métadonnées pour Azure Boards. Vous pouvez filtrer vos requêtes ou renvoyer des propriétés à l’aide de l’une Property
des valeurs sous ou EntityType
des NavigationPropertyBinding Path
valeurs disponibles avec un EntitySet
. Chaque EntitySet
correspond à un EntityType
. Pour plus d’informations sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le type de données correspondant EntityType
.
Burndown User Stories pour un chemin d’accès de zone et l’itération actuelle
Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Chaînes de substitution et répartition des requêtes
Remplacez les chaînes suivantes par vos valeurs. N’incluez pas de crochets {} avec votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez par {organization}
Fabrikam
, et non {Fabrikam}
par .
{areapath}
- Chemin d’accès de votre zone. Exemple de format :Project\Level1\Level2
.
Répartition des requêtes
Le tableau suivant décrit chaque partie de la requête.
Composant de requête
Description
$apply=filter(
Démarrer filter()
WorkItemType eq 'User Story'
Burndown sur les témoignages utilisateur
and startswith(Area/AreaPath,'{areapath}')
Éléments de travail sous un chemin d’accès de zone spécifique. Le remplacement par Area/AreaPath eq '{areapath}'
renvoie des éléments à un chemin d’accès de zone spécifique.
Pour filtrer par nom d’équipe, utilisez l’instruction filter Teams/any(x:x/TeamName eq '{teamname})'
and StateCategory ne 'Completed'
Filtre les éléments terminés. Pour plus d’informations sur les catégories d’état, consultez Utilisation des états de flux de travail et des catégories d’état dans backlogs et tableaux.
and DateValue ge Iteration/StartDate
Commencez la tendance au début de l’itération.
and DateValue le Iteration/EndDate
Terminer la tendance à la fin de l’itération.
and Iteration/StartDate le now()
Sélectionnez Itération actuelle.
and Iteration/EndDate ge now()
Sélectionner l’itération actuelle
)
Fermer filter()
/groupby(
Démarrer groupby()
(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),
Regrouper par DateValue (utilisé pour les tendances) et tous les champs sur lesquels vous souhaitez créer un rapport
aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)
Agrégation par nombre d’histoires d’utilisateurs et somme de points d’histoire
)
Fermer groupby()
Burndown User Stories pour une équipe et l’itération actuelle
Cette requête est identique à celle utilisée ci-dessus, sauf qu’elle filtre par nom d’équipe plutôt que par chemin d’accès à la zone.
Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Burndown User Stories pour tous les sprints depuis le début d’une année
Vous souhaiterez peut-être afficher un burndown de tous les sprints dans un seul rapport. Ces requêtes extrayent les burndowns de sprint, et leur par points d’histoire, pour tous les sprints depuis le début de l’année 2022.
Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate ge 2022-01-01Z "
&") "
&"/groupby( "
&"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tâches de burndown et travail restant
Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.
Doc-ready Power BI Query (anonymized)
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"startswith(Area/AreaPath,'{project}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&"and WorkItemType eq 'Task' "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
&"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(Facultatif) Renommer la requête
Vous pouvez renommer l’étiquette de requête par défaut , Query1, en quelque chose de plus significatif. Entrez simplement un nouveau nom dans le volet Paramètres de requête .
Développer des colonnes dans Éditeur Power Query
Avant de créer le rapport, vous devez développer des colonnes qui retournent des enregistrements contenant plusieurs champs. Dans ce cas, vous devez développer les enregistrements suivants :
Area
Iteration
AssignedTo
Pour savoir comment développer des éléments de travail, consultez Transformer des données Analytics pour générer des rapports Power BI.
Fermez la requête et appliquez vos modifications
Une fois que vous avez terminé toutes vos transformations de données, choisissez Fermer & Appliquer dans le menu Accueil pour enregistrer la requête et revenir à l’onglet Rapport dans Power BI.
Créer le rapport d’histogramme empilé
Dans Power BI, choisissez le rapport d’histogramme empilé sous Visualisations.
Ajouter
DateValue
à l’axe X, cliquez avec le bouton droit et sélectionnezDateValue
, plutôt queDate Hierarchy
Ajouter
Count
à l’axe Y.Ajouter
State
à l’axe Y.
L’exemple de rapport, qui affiche le burndown sur les points d’histoire et le nombre d’histoires.
Articles connexes
- Explorer des exemples de rapports à l’aide de requêtes OData
- Construire des requêtes OData pour Analytics
- Se connecter à Power BI à l’aide de requêtes OData
- Reportez-vous aux métadonnées pour Azure Boards Analytics
- Accéder à des exemples de rapports et à un index de référence rapide
- Ajouter un segment Team à un rapport existant