Ukázkové dotazy a sestavy pro vypálení vydané verze

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

Sestavy burndownu a burnup ukazují, kolik práce se v průběhu času dokončí. Následující obrázek ukazuje burndown podle počtu uživatelských scénářů i součtu bodů scénáře.

Snímek obrazovky se sestavou skupinového sloupcového grafu v clusterovém sloupcovém grafu vydané verze Power BI

Grafy burndownu mají smysl jenom v případě, že plánujete práci na časové období grafu. Jinak pokud plánujete sprint po sprintu, neuvidíte standardní burndown. V těchto případech má burnup graf větší smysl zjistit, jak se v průběhu času dělá pokrok.

Důležité

Odstranění cest oblasti nebo změna konfigurace cest iterace může způsobit ztrátu dat a nejde je vrátit zpět. Například grafy burndownu nebo burnup widgetů, burndown sprintu a grafy rychlosti pro týmy, jejichž cesty oblasti se mění, nebudou odrážet správná data. Grafy historických trendů odkazují na cestu oblasti a cestu iterace definované v bodě v minulosti pro každou pracovní položku. Když se odstraní cesta k oblasti nebo cesta iterace, historická data pro ni nelze načíst.

Další informace o burndownu a burnupu najdete v tématu Konfigurace widgetu burndownu nebo burnupu a pokynů ke burnupu a burnupu.

Poznámka:

Tento článek předpokládá, že jste si přečetli přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.

Požadavky

  • Pokud chcete zobrazit data Analýzy a dotazovat se na službu, musíte být členem projektu se základním přístupem nebo novějším. Ve výchozím nastavení mají všichni členové projektu udělená oprávnění k dotazování analýzy a definování zobrazení Analýzy.
  • 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

Dotazy v této části ukazují, jak generovat burndownové grafy pracovních položek na základě historických dat. Všechny tyto dotazy určují WorkItemSnapshot sadu entit.

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 EntitySetEntityType . 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í EntityTypehodnotu .

Burndown uživatelských scénářů v cestě oblasti od počátečního a koncového data

Následující dotaz ukazuje, jak vrátit historická data uživatelských scénářů pro vydání na základě pracovních položek označených značkou vydané verze.

Poznámka:

U sestav založených na filtrování značky musí být značka přiřazena pracovní položce na začátku vydání nebo počátečního data burndownu nebo burnupu. V opačném případě není pracovní položka zahrnuta do vrácených dat.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu 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 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

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}.

  • {organization} – Název vaší organizace
  • {project} – Název vašeho týmového projektu nebo úplně vynecháte /{project}, pro dotaz mezi projekty
  • {areapath} - Cesta k vaší oblasti. Příklad formátu: Project\Level1\Level2
  • {tag} – Značka, která představuje vaši verzi. Všechny pracovní položky označené značkou {tagname} jsou součástí sestavy.
  • {startdate} - Datum zahájení sestavy burndownu ve formátu: YYYY-MM-DDZ. Například: 2022-04-01Z představuje 2022-April-01. Nezadávejte do uvozovek.
  • {enddate} - Datum ukončení sestavy burndownu.

Rozpis dotazů

Následující tabulka popisuje jednotlivé části dotazu.

Část dotazování

Popis

$apply=filter(WorkItemType eq 'User Story'

Zahrnout uživatelské scénáře do burndownu

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 startswith(Area/AreaPath,'{areapath}')

Zahrnout pouze uživatelské scénáře do konkrétní cesty oblasti nahrazení '{areapath}'.
Chcete-li filtrovat podle názvu týmu, použijte příkaz Teams/any(x:x/TeamName eq '{teamname})'filtru .

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

Určuje popisek značky, který představuje verzi pro burndown, a zahrnout do sestavy všechny pracovní položky označené značkou {tagname}.

and DateValue ge {startdate}

Začněte burndown dne nebo po zadaném datu. Příklad: 2019-04-01Z představuje 2019-Duben-01.

and DateValue le {enddate}

Začněte burndown dne nebo před zadaným datem. Stejný formát jako {startdate}.

)

Klauzule Close filter()

/groupby (

Klauzule Start groupby() .

(DateValue, State, Area/AreaPath),

Seskupit podle DateValue (používá se k trendu) a všechna pole, na která chcete sestavovat.

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

Agreguje se podle počtu uživatelských scénářů a součtu bodů obsahu.

)

Klauzule Close groupby()

Burndown of User Stories for a team

Následující dotaz vrátí data burndownu filtrovaná podle názvu týmu místo cesty oblasti.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu 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 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 with a snapshot every Friday

Použití týdenního snímku snižuje objem dat natažených do Power BI a zvyšuje výkon dotazů.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu 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 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 based on an area and iteration path

Některé organizace používají iterační cesty k označení scénářů pro vydání. Mohou mít například cestuiterace MyProject\Release1. Následující dotaz ukazuje, jak vybrat uživatelské scénáře podle cesty iterace.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu 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 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 with a custom field value

Některé organizace používají vlastní pole k označení uživatelských scénářů pro vydání. Mohou mít například pole s názvem Milník. Tento dotaz ukazuje, jak vybrat uživatelské scénáře podle vlastního pole.

V dotazu budete muset nahradit obojí {customfieldname} i {releasevalue} v dotazu. Pokud chcete určit název vlastního pole, přečtěte si referenční informace k metadatům pro Azure Boards, vlastní vlastnosti. Nahradíte {customfieldname} názvem vlastní vlastnosti, například Custom_Milestone.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu 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 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

(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.

Snímek obrazovky s možnostmi nabídky dotazu Power BI a přejmenování 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:

  • Links
  • Links.TargetWorkItem
  • 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žítdotaz a vraťte se na kartu Sestava v Power BI.

Snímek obrazovky s možností Zavřít a Použít Editor Power Query

Vytvoření skupinového sloupcového grafu

  1. V Power BI zvolte skupinový sloupcový graf v části Vizualizace.

    Snímek obrazovky s výběrem vizualizací a polí Power BI pro sestavu skupinového sloupcového grafu s podporou uvolnění

  2. Přidat DateValue na osu X, kliknout pravým tlačítkem myši a vybrat DateValuemístoDate Hierarchy

  3. Přidat Count na osu Y

  4. Přidat TotalStoryPoints na osu Y

Ukázková sestava zobrazuje burndown jak pro počet scénářů, tak pro součet nebo body scénářů.

Snímek obrazovky se sestavou skupinového sloupcového grafu v ukázkové verzi Power BI