Exemple de rapport de temps de prospect et de cycle

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

Vous pouvez créer des graphiques de temps de prospect et de cycle à l’aide des requêtes fournies dans cet article. Le temps de prospect et le temps de cycle indiquent le temps nécessaire pour que le travail passe par le pipeline de développement d’une équipe. Le délai d’exécution mesure le temps total écoulé entre la création d’éléments de travail et leur achèvement. Le temps de cycle mesure le temps nécessaire pour qu’une équipe termine les éléments de travail une fois qu’elle commence activement à travailler dessus.

L’image suivante montre un exemple pour le temps de prospect moyen divisé par les affectations de priorité effectuées aux récits utilisateur.

Capture d’écran du rapport du graphique de tendances du cycle de prospect Power BI.

Pour en savoir plus sur le temps de prospect et de cycle, consultez les widgets temps de prospect et de temps de cycle et le flux cumulé, le temps de prospect et les conseils de temps de cycle.

Remarque

Cet article suppose que vous avez lu 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

  • Pour afficher les données Analytics et interroger le service, vous devez être membre d’un projet avec un accès de base ou supérieur. Par défaut, tous les membres du projet sont autorisés à interroger Analytics et à définir des vues Analytics.
  • Pour en savoir plus sur d’autres prérequis concernant l’activation des services et des fonctionnalités et les activités générales de suivi des données, consultez Autorisations et prérequis pour accéder à Analytics.

Exemples de requêtes

Les requêtes de cette section prennent en charge le retour des données de temps de prospect et de cycle pour les récits utilisateur terminés. Vous pouvez interroger par chemin d’accès de zone ou par nom d’équipe. Toutes ces requêtes spécifient l’ensemble WorkItems d’entités au fur et à mesure qu’elles retournent des données calculées pour chaque élément de travail par le service Analytics.

Remarque

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 en savoir plus sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le .EntityType

Retourner le temps de prospect et le temps de cycle pour les récits utilisateur et le chemin d’accès à la zone

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and StateCategory eq 'Completed' "
            &"and CompletedDate ge {startdate} "
            &"and startswith(Area/AreaPath,'{areapath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,AreaSK "
            &",CycleTimeDays,LeadTimeDays,CompletedDateSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,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 .

  • {organization} - Nom de votre organisation
  • {project} - Nom de votre projet d’équipe ou omettre entièrement « /{projet} » pour une requête inter-projets
  • {areapath} - Chemin d’accès de votre zone. Exemple de format : Project\Level1\Level2
  • {startdate} - Démarrez votre rapport pour les éléments terminés ou après une date donnée au format suivant : YYYY-MM-DDZ. Par exemple : 2022-04-01Z représente 2022-avril-01. Ne placez pas entre guillemets.

Répartition des requêtes

Le tableau suivant décrit chaque partie de la requête.

Composant de requête

Description


$filter=WorkItemType eq 'User Story'

Retournez des données pour les récits utilisateur.

and StateCategory eq 'Completed'

Renvoyer uniquement les éléments terminés. Le système calcule les valeurs des jours de temps de prospect et des jours de temps de cycle uniquement pour les éléments de travail qui ont été terminés.

Remarque

Si vous examinez les données brutes des enregistrements, vous pouvez voir les entrées où CycleTimeDays=0. Cela se produit lorsque l’article utilisateur ou l’élément de travail entre un état de catégorie de flux de travail en cours et terminé le même jour. Pour plus d’informations sur les catégories d’état de flux de travail, consultez Comment les états de flux de travail et les catégories d’état sont utilisés dans backlogs et tableaux.

and CompletedDate ge {startdate}

Retourne les éléments qui sont terminés après la date spécifiée. Exemple : 2022-04-01Z représente 2022-Avril-01

and startswith(Area/AreaPath,'{areapath}')

Retournez des éléments de travail sous un chemin d’accès de zone spécifique dans'{areapath}' lequel vous spécifiez. Pour filtrer par nom d’équipe, utilisez l’instruction Teams/any(x:x/TeamName eq '{teamname})'de filtre .

&$select=WorkItemId, Title, WorkItemType, State, Priority

Sélectionnez les propriétés à retourner.

, CycleTimeDays, LeadTimeDays, CompletedDateSK

Retourne les propriétés qui prennent en charge les jours de temps de début, les jours de temps de cycle et CompletedDateSK. CompletedDateSK retourne une valeur de date sous forme d’entier

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath)

Développez les propriétés pour AssignedTo, Iterationet Area les entités, puis sélectionnez les champs d’entité pour eux.

Retourner le temps de prospect et le temps de cycle pour les récits utilisateur et les équipes

Cette requête est identique à celle fournie dans la section précédente, sauf qu’elle filtre par plusieurs noms d’équipe plutôt que par des chemins d’accès de zone.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and StateCategory eq 'Completed' "
            &"and CompletedDate ge {startdate} "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,AreaSK "
            &",CycleTimeDays,LeadTimeDays,CompletedDateSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,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 .

Capture d’écran des options de menu de requête Power BI, renommer la requête.

Transformer des données dans Éditeur Power Query

Dans le Éditeur Power Query, choisissez la requête avec les données que vous souhaitez transformer. Pour un graphique de temps prospect/cycle, vous devez effectuer les transformations suivantes :

  • Développez des colonnes telles que Area, Iterationet AssignedTo.
  • Transformez le type de données pour les colonnes et CycleTimeDays les LeadTimeDays colonnes en nombre Qui le.
  • Transformez le type de données de la CompletedDateSK colonne d’un entier en valeur de date.

Pour savoir comment procéder, consultez les sections suivantes des données Transform 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.

Capture d’écran de Éditeur Power Query’option Fermer et appliquer.

Créer le graphique de tendances

Dans l’exemple suivant, la requête a été renommée LeadCycleTime, mais aucune colonne n’a été renommée.

  1. Dans Power BI, choisissez le rapport de graphique en courbes sous Visualisations.

    Capture d’écran des sélections de visualisations et de champs Power BI pour le rapport de graphique de tendances du temps de prospect.

  2. Ajouter CompletedDateSK à l’axe X.

  3. Ajoutez LeadTimeDays à l’axe Y, cliquez avec le bouton droit et sélectionnez Moyenne.

  4. Ajouter Priority à la légende.

L’exemple de rapport s’affiche. Notez que lorsque vous pointez sur n’importe quelle zone du rapport, d’autres données sont affichées.

Capture d’écran de l’exemple de rapport du graphique de tendances du cycle de prospect Power BI.