Exempelrapporter för sprintnedbrändhet
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Sprintbränndiagram är användbara för att övervaka hur bra ett team kör på sin sprintplan. Flera inbyggda diagram och instrumentpanelswidgetar stöder övervakning av sprintnedbrändhet. Se Konfigurera och övervaka sprintnedbrändhet.
Du kan dock anpassa ett sprintdiagram med hjälp av Analytics och Power BI med de frågor som anges i den här artikeln. I följande exempel visas en nedbrändhet av Användarberättelser och deras tillstånd.
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 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
Burndown-diagram kräver att du frågar entitetsuppsättningen WorkItemSnapshot
för att hämta historiska data.
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
.
Burndown User Stories för en områdessökväg och aktuell iteration
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 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
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}
.
{areapath}
- Din områdessökväg. Exempelformat:Project\Level1\Level2
.
Frågeuppdelning
I följande tabell beskrivs varje del av frågan.
Frågedel
Beskrivning
$apply=filter(
Starta filter()
WorkItemType eq 'User Story'
Burndown på användarberättelser
and startswith(Area/AreaPath,'{areapath}')
Arbetsobjekt under en specifik områdessökväg. Ersätta med Area/AreaPath eq '{areapath}'
returnerar objekt på en specifik områdessökväg.
Om du vill filtrera efter gruppnamn använder du filtersatsen Teams/any(x:x/TeamName eq '{teamname})'
and StateCategory ne 'Completed'
Filtrerar bort objekt som har slutförts. Mer information om tillståndskategorier finns i How workflow states and state categories are used in Backlogs and Boards (Hur arbetsflödestillstånd och tillståndskategorier används i kvarvarande uppgifter och tavlor).
and DateValue ge Iteration/StartDate
Börja trenden vid iterationsstart.
and DateValue le Iteration/EndDate
Sluttrend vid iterationsslut.
and Iteration/StartDate le now()
Välj aktuell iteration.
and Iteration/EndDate ge now()
Välj aktuell iteration
)
Stäng filter()
/groupby(
Starta groupby()
(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),
Gruppera efter DateValue (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 berättelsepunkter
)
Stäng groupby()
Burndown-användarberättelser för ett team och den aktuella iterationen
Den här frågan är samma som den som används ovan, förutom att den filtreras 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 (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 för alla sprintar sedan början av ett år
Du kanske vill visa en nedbrändhet av alla sprintar i en enda rapport. Dessa frågor drar in sprintbrännskador, och deras efter berättelsepunkter, för alla sprintar sedan början av år 2022.
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 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
Burndown-uppgifter och återstående arbete
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.
Doc-ready Power BI Query (anonomized)
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
(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 .
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:
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 på startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.
Skapa den staplade stapeldiagramrapporten
I Power BI väljer du rapporten Staplat stapeldiagram under Visualiseringar.
Lägg till
DateValue
i X-axel, högerklicka och väljDateValue
, i stället förDate Hierarchy
Lägg till
Count
i Y-axeln.Lägg till
State
i Y-axeln.
Exempelrapporten, som visar nedblåsning på både Story Points och Count of Stories.