Ukázkové sestavy burndownu sprintu
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Grafy burndownu sprintu jsou užitečné k monitorování toho, jak dobře tým provádí plán sprintu. Několik předdefinovaných grafů a widgetů řídicích panelů podporuje monitorování burndownu sprintu. Viz Konfigurace a monitorování burndownu sprintu.
Graf burndownu sprintu ale můžete přizpůsobit pomocí analýz a Power BI pomocí dotazů uvedených v tomto článku. Následující příklad ukazuje burndown uživatelských scénářů a jejich stavů.
Důležité
- Odstranění cest oblasti nebo změna konfigurace cest iterace způsobí nevratnou ztrátu dat. Například grafy burndownu a burnup widgetů, sprint burndown a grafy rychlosti pro týmy se změněnými cestami oblastí nezobrazují přesná data. Historické grafy trendu odkazují na cestu oblasti a cestu iterace, protože byly definovány v době pro každou pracovní položku. Po odstranění nemůžete načíst historická data pro tyto cesty.
- Můžete odstranit pouze oblasti a iterační cesty, které už nejsou používány žádnými pracovními položkami.
Další informace o burndownu a burnupu a pokyny ke burndownu a burnupu.
Poznámka:
Tento článek předpokládá, že si přečtete přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.
Požadavky
- Přístup: Buďte členem projektu s alespoň základním přístupem.
- Oprávnění: Ve výchozím nastavení mají členové projektu oprávnění k dotazování na Analýzy a vytváření zobrazení.
- Další informace o dalších požadavcích týkajících se povolení služeb a funkcí a obecných aktivit sledování dat najdete v tématu Oprávnění a požadavky pro přístup k Analýzám.
Vzorové dotazy
Grafy burndownu vyžadují dotazování WorkItemSnapshot
sady entit pro získání historických dat.
Poznámka:
Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro Azure Boards. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property
pod hodnotami nebo NavigationPropertyBinding Path
hodnotami dostupnými v objektu EntitySet
EntityType
. Každý EntitySet
odpovídá hodnotě EntityType
. Další informace o datovém typu každé hodnoty najdete v metadatech zadaných pro odpovídající EntityType
hodnotu .
Burndown User Stories for an area path and the current iteration
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Náhradní řetězce a rozpis dotazů
Nahraďte následující řetězce hodnotami. Nezahrnujte do náhradních závorek {} . Pokud je například název vaší organizace "Fabrikam", nahraďte {organization}
ho Fabrikam
, nikoli {Fabrikam}
.
{areapath}
- Cesta k vaší oblasti. Příklad formátu:Project\Level1\Level2
.
Rozpis dotazů
Následující tabulka popisuje jednotlivé části dotazu.
Část dotazování
Popis
$apply=filter(
Spustit filtr()
WorkItemType eq 'User Story'
Burndown on User Stories
and startswith(Area/AreaPath,'{areapath}')
Pracovní položky v určité cestě oblasti Nahrazení vrátí Area/AreaPath eq '{areapath}'
položky v určité cestě oblasti.
Pokud chcete filtrovat podle názvu týmu, použijte příkaz filtru. Teams/any(x:x/TeamName eq '{teamname})'
and StateCategory ne 'Completed'
Vyfiltruje dokončené položky. Další informace o kategoriích stavů najdete v tématu Jak se v backlogech a panelech používají stavy a kategorie stavů pracovního postupu.
and DateValue ge Iteration/StartDate
Začněte trend na začátku iterace.
and DateValue le Iteration/EndDate
Koncový trend na konci iterace
and Iteration/StartDate le now()
Vyberte aktuální iteraci.
and Iteration/EndDate ge now()
Výběr aktuální iterace
)
Zavřít filtr()
/groupby(
Zahájení seskupby()
(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),
Seskupit podle hodnoty DateValue (používá se k trendu) a všechna pole, na které chcete sestavovat
aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)
Agregace podle počtu uživatelských scénářů a součtu bodů obsahu
)
Zavřít groupby()
Burndown User Stories for a current iteration
Tento dotaz je stejný jako výše použitý dotaz s tím rozdílem, že filtruje podle názvu týmu místo cesty oblasti.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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 for all sprints since the start of a year
Možná budete chtít zobrazit burndown všech sprintů v jedné sestavě. Tyto dotazy načítají burndowny sprintů a jejich body podle scénářů pro všechny sprinty od začátku roku 2022.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Úkoly burndownu a zbývající práce
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.
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
(Volitelné) Přejmenování dotazu
Výchozí popisek dotazu , Query1, můžete přejmenovat na něco smysluplnějšího. Jednoduše zadejte nový název z podokna Nastavení dotazu.
Rozbalení sloupců v Editor Power Query
Před vytvořením sestavy budete muset rozbalit sloupce, které vracejí záznamy obsahující několik polí. V tomto případě budete chtít rozbalit následující záznamy:
Area
Iteration
AssignedTo
Informace o tom, jak rozbalit pracovní položky, najdete v tématu Transformace analytických dat pro generování sestav Power BI.
Zavřete dotaz a použijte změny.
Jakmile dokončíte všechny transformace dat, v nabídce Domů zvolte Zavřít a použít dotaz a vraťte se na kartu Sestava v Power BI.
Vytvoření sestavy skládaného sloupcového grafu
V Power BI zvolte sestavu skládaného sloupcového grafu v části Vizualizace.
Přidat
DateValue
na osu X, kliknout pravým tlačítkem myši a vybratDateValue
místoDate Hierarchy
Přidat
Count
na osu YPřidat
State
na osu Y
Ukázková sestava, která zobrazuje burndown na story points i count of Stories.