Share via


Burndown-voorbeeldquery's en rapporten vrijgeven

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

Burndown- en burnuprapporten laten zien hoeveel werk in de loop van de tijd wordt voltooid. In de volgende afbeelding ziet u burndown, zowel op aantal gebruikersverhalen als op som van verhaalpunten.

Schermopname van een burndownrapport met een geclusterde kolomdiagram in Power BI.

Burndown-grafieken zijn alleen zinvol als u uw werk plant voor de periode van de grafiek. Als u anders een sprint per sprint plant, ziet u geen standaard burndown. In deze gevallen is een burnupgrafiek logischer om te zien hoe de voortgang in de loop van de tijd wordt gemaakt.

Belangrijk

  • Als u gebiedspaden verwijdert of iteratiepaden opnieuw configureert, kunnen gegevens verloren gaan. In burndown- en burnupwidgetdiagrammen, sprint burndown- en snelheidsdiagrammen voor teams met gewijzigde vlakpaden worden bijvoorbeeld geen nauwkeurige gegevens weergegeven. Historische trenddiagrammen verwijzen naar het gebiedspad en iteratiepad zoals deze zijn gedefinieerd op het moment dat elk werkitem wordt gedefinieerd. Nadat u de gegevens hebt verwijderd, kunt u geen historische gegevens voor deze paden ophalen.
  • U kunt alleen gebieds- en iteratiepaden verwijderen die niet meer worden gebruikt door werkitems.

Zie Een burndown- of burndownwidget configureren, burndown- en burndown-richtlijnen voor meer informatie over burndown en burnup.

Notitie

In dit artikel wordt ervan uitgegaan dat u overzicht van voorbeeldrapporten leest met behulp van OData-query's en basiskennis hebt van Power BI.

Vereisten

Voorbeeldquery's

De query's in deze sectie laten zien hoe u burndowngrafieken van werkitems genereert op basis van historische gegevens. Al deze query's geven de WorkItemSnapshot entiteitsset op.

Notitie

Als u de beschikbare eigenschappen voor filter- of rapportdoeleinden wilt bepalen, raadpleegt u de naslaginformatie over metagegevens voor Azure Boards. U kunt uw query's filteren of eigenschappen retourneren met behulp van een van de Property waarden onder een EntityType of NavigationPropertyBinding Path waarden die beschikbaar zijn met een EntitySet. Elk EntitySet komt overeen met een EntityType. Raadpleeg voor meer informatie over het gegevenstype van elke waarde de metagegevens die voor de bijbehorende EntityTypewaarde zijn opgegeven.

Burndown van gebruikersverhalen in een gebiedspad vanaf begin- en einddatum

De volgende query laat zien hoe u historische gegevens van Gebruikersverhalen voor een release kunt retourneren op basis van werkitems die zijn gelabeld met een releasetag.

Notitie

Voor rapporten op basis van het filteren van een tag moet de tag worden toegewezen aan het werkitem aan het begin van de release of burndown/burnup-begindatum. Anders wordt het werkitem niet opgenomen in de geretourneerde gegevens.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Uitsplitsing van tekenreeksen en query's vervangen

Vervang de volgende tekenreeksen door uw waarden. Neem geen vierkante haken {} op bij uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u door {organization} Fabrikam, niet {Fabrikam}.

  • {organization} - Naam van uw organisatie
  • {project} - De naam van uw teamproject of laat '/{project}' volledig weg voor een query voor meerdere projecten
  • {areapath} - Uw gebiedspad. Voorbeeldindeling: Project\Level1\Level2
  • {tag} - Een tag die uw release vertegenwoordigt. Alle werkitems die zijn getagd, {tagname} worden opgenomen in het rapport
  • {startdate} - De datum waarop het burndownrapport moet worden gestart met de notatie: YYYY-MM-DDZ. Bijvoorbeeld: 2022-04-01Z vertegenwoordigt 2022-april-01. Plaats niet tussen aanhalingstekens.
  • {enddate} - De datum waarop het burndownrapport moet worden beëindigd.

Uitsplitsing van query's

In de volgende tabel wordt elk deel van de query beschreven.

Queryonderdeel

Beschrijving

$apply=filter(WorkItemType eq 'User Story'

Gebruikersverhalen opnemen in burndown.

and StateCategory ne 'Completed'

Hiermee worden items gefilterd die zijn voltooid. Zie Hoe werkstroomstatussen en statuscategorieën worden gebruikt in achterstanden en borden voor meer informatie over statuscategorieën .

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

Alleen gebruikersverhalen opnemen onder een specifiek gebiedspad dat wordt '{areapath}'vervangen.
Als u wilt filteren op een teamnaam, gebruikt u de filterinstructie Teams/any(x:x/TeamName eq '{teamname})'.

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

Hiermee geeft u het label op dat de release aangeeft waarop de burndown moet worden uitgevoerd en om alle werkitems op te nemen die zijn getagd met {tagname} in het rapport.

and DateValue ge {startdate}

Start burndown op of na de opgegeven datum. Voorbeeld: 2019-04-01Z vertegenwoordigt 2019-april-01.

and DateValue le {enddate}

Start burndown op of vóór de opgegeven datum. Dezelfde indeling als {startdate}.

)

Sluit filter() de component.

/groupby (

Begincomponent groupby() .

(DateValue, State, Area/AreaPath),

DateValue Groeperen op (gebruikt voor trending) en alle velden waarop u wilt rapporteren.

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

Aggregeren op basis van het aantal gebruikersverhalen en de som van verhaalpunten.

)

Sluit groupby() de component.

Burndown van gebruikersverhalen voor een team

De volgende query retourneert burndown-gegevens die zijn gefilterd op teamnaam in plaats van Gebiedspad.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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-gebruikersverhalen met elke vrijdag een momentopname

Als u een wekelijkse momentopname gebruikt, vermindert u de hoeveelheid gegevens die in Power BI worden opgehaald en verhoogt u de queryprestaties.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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-gebruikersverhalen op basis van een gebied en iteratiepad

Sommige organisaties gebruiken Iteratiepaden om Verhalen te markeren voor een release. Ze kunnen bijvoorbeeld een iteratiepad van MyProject\Release1 hebben. In de volgende query ziet u hoe u Gebruikersverhalen per iteratiepad selecteert.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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-gebruikersverhalen met een aangepaste veldwaarde

Sommige organisaties gebruiken een aangepast veld om Gebruikersverhalen te markeren voor een release. Ze kunnen bijvoorbeeld een veld hebben met de naam Mijlpaal. In deze query ziet u hoe u Gebruikersverhalen selecteert op basis van een aangepast veld.

U moet zowel {customfieldname} {releasevalue} als in de query vervangen. Als u de naam van uw aangepaste veld wilt bepalen, raadpleegt u de metagegevensreferentie voor Azure Boards, aangepaste eigenschappen. U vervangt {customfieldname} bijvoorbeeld Custom_Milestonedoor de naam van de aangepaste eigenschap.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

(Optioneel) Naam van query wijzigen

U kunt de naam van het standaardquerylabel Query1 wijzigen in iets zinvoller. Voer gewoon een nieuwe naam in het deelvenster Queryinstellingen in.

Schermopname van menuopties voor Power BI-query's, naam van query wijzigen.

Kolommen uitvouwen in Power Query-editor

Voordat u het rapport maakt, moet u kolommen uitvouwen die records met verschillende velden retourneren. In dit geval wilt u de volgende records uitbreiden:

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

Zie Transform Analytics-gegevens voor het genereren van Power BI-rapporten voor meer informatie over het uitvouwen van werkitems.

Sluit de query en pas uw wijzigingen toe

Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in het menu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.

Schermopname van Power Query-editor optie Sluiten en toepassen.

Het gegroepeerde kolomdiagram maken

  1. Kies in Power BI een gegroepeerd kolomdiagram onder Visualisaties.

    Schermopname van Selecties van Power BI-visualisaties en -velden voor het rapport Burndown-geclusterd kolomdiagram vrijgeven.

  2. Toevoegen DateValue aan X-as, met de rechtermuisknop klikken en selecteren DateValuein plaats van Date Hierarchy

  3. Toevoegen Count aan Y-as.

  4. Toevoegen TotalStoryPoints aan Y-as.

In het voorbeeldrapport wordt een burndown weergegeven voor zowel het aantal verhalen als de som of het aantal verhaalpunten.

Schermopname van power BI Sample Release burndown geclusterd kolomdiagramrapport.