Publicera exempelfrågor och rapporter för nedbrännskada

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

Rapporter om nedbrändhet och uppbrändhet visar hur mycket arbete som slutförs över tid. Följande bild visar nedblåsning både efter antal användarberättelser och summan av Story Points.

Skärmbild av rapporten för nedbrända grupperade stapeldiagram i Power BI Release.

Burndown-diagram är bara meningsfulla om du planerar ditt arbete för diagrammets tidsperiod. Annars, om du planerar på sprint-by-sprint basis, kommer du inte att se en standard burndown. I dessa fall är ett uppbränt diagram mer meningsfullt för att se hur framsteg görs över tid.

Viktigt!

  • Om du tar bort områdessökvägar eller konfigurerar om iterationssökvägar kan du förlora oåterkalleliga data. Till exempel visar widgetdiagram för bränning och bränning, sprintbrännskada och hastighetsdiagram för team med ändrade områdessökvägar inte korrekta data. Historiska trenddiagram refererar till områdessökvägen och iterationssökvägen som de definierades vid tidpunkten för varje arbetsobjekt. När du har tagit bort kan du inte hämta historiska data för dessa sökvägar.
  • Du kan bara ta bort områdes- och iterationssökvägar som inte längre används av några arbetsobjekt.

Mer information om nedbrändhet och uppbrändhet finns i Konfigurera en widget för nedbrännskada eller uppbrännning samt vägledning för burndown och burnup.

Kommentar

Den här artikeln förutsätter att du läser Översikt över exempelrapporter med OData-frågor och har en grundläggande förståelse för Power BI.

Förutsättningar

  • Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
  • Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
  • Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.

Exempelfrågor

Frågorna i det här avsnittet visar hur du genererar nedbrända diagram över arbetsobjekt baserat på historiska data. Alla dessa frågor anger entitetsuppsättningen WorkItemSnapshot .

Kommentar

Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Azure Boards. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property under ett EntityType eller NavigationPropertyBinding Path flera värden som är tillgängliga med en EntitySet. Var och EntitySet en motsvarar en EntityType. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType.

Nedblåsning av användarberättelser i en områdessökväg från start- och slutdatum

Följande fråga visar hur du returnerar historiska data för Användarberättelser för en version baserat på arbetsobjekt taggade med en versionstagg.

Kommentar

För rapporter som baseras på filtrering av en tagg måste taggen tilldelas till arbetsobjektet i början av lanserings- eller burndown-/burnup-startdatumet. Annars ingår inte arbetsobjektet i de returnerade data.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Ersättningssträngar och frågeuppdelning

Ersätt följande strängar med dina värden. Ta inte med hakparenteser {} med din ersättning. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization} med Fabrikam, inte {Fabrikam}.

  • {organization} – Organisationens namn
  • {project} – Namnet på ditt teamprojekt, eller utelämna "/{project}" helt, för en fråga mellan projekt
  • {areapath} - Din områdessökväg. Exempelformat: Project\Level1\Level2
  • {tag} – En tagg som representerar din version. Alla arbetsobjekt som har taggats med {tagname} ingår i rapporten
  • {startdate} – Datumet då rapporten för nedbrändhet ska startas med formatet : YYYY-MM-DDZ. Till exempel: 2022-04-01Z representerar 2022-April-01. Omslut inte citattecken.
  • {enddate} - Datum för att avsluta burndown-rapporten.

Frågeuppdelning

I följande tabell beskrivs varje del av frågan.

Frågedel

Beskrivning

$apply=filter(WorkItemType eq 'User Story'

Inkludera användarberättelser i burndown.

and StateCategory ne 'Completed'

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

Inkludera endast användarberättelser under en specifik områdessökväg som '{areapath}'ersätter .
Om du vill filtrera efter ett teamnamn använder du filtersatsen Teams/any(x:x/TeamName eq '{teamname})'.

and Tags/any(x:x/TagName eq '{tagname}').

Anger taggetiketten som representerar den version som ska brännas på och för att inkludera alla arbetsobjekt som har taggats med {tagname} i rapporten.

and DateValue ge {startdate}

Starta burndown på eller efter det angivna datumet. Exempel: 2019-04-01Z representerar 2019-April-01.

and DateValue le {enddate}

Starta burndown på eller före det angivna datumet. Samma format som {startdate}.

)

Stäng-satsen filter() .

/groupby (

Start-sats groupby() .

(DateValue, State, Area/AreaPath),

DateValue Gruppera efter (används för trendning) och alla fält som du vill rapportera om.

aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints)

Aggregera efter antal användarberättelser och summan av Story Points.

)

Stäng-satsen groupby() .

Nedbrändhet av användarberättelser för ett team

Följande fråga returnerar burndown-data filtrerade efter teamnamn i stället för Områdessökväg.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"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 Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Burndown User Stories med en ögonblicksbild varje fredag

Om du använder en ögonblicksbild varje vecka minskar mängden data som hämtas till Power BI och ökar frågeprestandan.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &"and Date/DayName eq 'Friday' "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Burndown User Stories baserat på ett område och en iterationssökväg

Vissa organisationer använder Iteration Paths för att markera Stories för en version. De kan till exempel ha en iterationssökväg för MyProject\Release1. Följande fråga visar hur du väljer Användarberättelser efter iterationssökväg.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and startswith(Iteration/IterationPath,'{iterationpath}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &") "
        &"/groupby ( "
            &"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Burndown User Stories med ett anpassat fältvärde

Vissa organisationer använder ett anpassat fält för att markera Användarberättelser för en version. De kan till exempel ha ett fält med namnet Milestone. Den här frågan visar hur du väljer Användarberättelser efter ett anpassat fält.

Du måste ersätta både {customfieldname} och {releasevalue} i frågan. Information om hur du fastställer namnet på ditt anpassade fält finns i Metadatareferens för Azure Boards, Anpassade egenskaper. Du ersätter {customfieldname} med namnet på den anpassade egenskapen, till exempel Custom_Milestone.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and {customfieldname} eq '{releasevalue}' "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &") "
        &"/groupby ( "
            &"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Valfritt) Byt namn på fråga

Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange bara ett nytt namn i fönstret Frågeinställningar .

Skärmbild av alternativ för Power BI-frågemenyer, byt namn på fråga.

Expandera kolumner i Power Query-redigeraren

Innan du skapar rapporten måste du expandera kolumner som returnerar poster som innehåller flera fält. I det här fallet vill du expandera följande poster:

  • Links
  • Links.TargetWorkItem
  • Area
  • Iteration
  • AssignedTo

Information om hur du expanderar arbetsobjekt finns i Transformera analysdata för att generera Power BI-rapporter.

Stäng frågan och tillämpa ändringarna

När du har slutfört alla dina datatransformeringar väljer du Stäng och använd startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.

Skärmbild av alternativet stäng och tillämpa Power Query-redigeraren.

Skapa det klustrade kolumndiagrammet

  1. I Power BI väljer du Grupperat stapeldiagram under Visualiseringar.

    Skärmbild av power BI-visualiseringar och fältval för rapport över nedbrända grupperade stapeldiagram.

  2. Lägg till DateValue i X-axel, högerklicka och välj DateValue, i stället för Date Hierarchy

  3. Lägg till Count i Y-axeln.

  4. Lägg till TotalStoryPoints i Y-axeln.

Exempelrapporten visar nedbrändhet för både antalet berättelser och summor eller berättelsepunkter.

Skärmbild av rapporten power BI Sample Release burndown clustered column chart.