Delen via


Voorbeeldrapport voor het voortgangsoverzicht van functionaliteiten

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

In dit artikel leest u hoe u een gestapeld staafrapport maakt om de voortgang van functies weer te geven op basis van voltooide onderliggende gebruikersverhalen. In het rapport wordt het percentage voltooid weergegeven door het samenvouwen van verhaalpunten voor een bepaalde set actieve functies. U kunt vergelijkbare voortgangsdiagrammen uit uw backlog bekijken door een roll-upkolom toe te voegen. Zie Voortgang van samenvouwen of totalen weergeven om te leren hoe.

Wanneer u samengetelde rapporten maakt met Power BI, kunt u problemen tegenkomen met betrekking tot geneste gegevens in uw gegevenssets. Met name als u probeert een tabel te draaien die kolommen met geneste gegevens bevat, kan dit resulteren in een foutbericht. Zie de sectie over het verwerken van geneste gegevens voor meer informatie.

Vereiste voorwaarden

Categorie Vereisten
Toegangsniveaus - een projectlid.
- Tenminste Basic toegang.
Toestemmingen Projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken. Zie Machtigingen en vereisten voor toegang tot Analyse voor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.

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.

Voorbeeldqueries

Functievoortgang raadpleegt de WorkItems entiteit om de huidige voortgangsstatus op te halen.

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.

De voortgang van de functie controleren op basis van een gebiedspad

Kopieer en plak de volgende Power BI-query rechtstreeks in het Get Data>Blank Query venster. 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/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Descendants/any()"
            &"&$select=WorkItemId,Title,Area,Iteration,AssignedTo,WorkItemType,State,AreaSK"
            &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') " 
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Substitutie van tekenreeksen en uitsplitsing van queries

Vervang de volgende tekenreeksen door uw waarden. Gebruik geen haken {} in 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} deze volledig weg voor een query voor meerdere projecten
  • {areapath} - Uw gebiedspad. Voorbeeldindeling: Project/Level1/Level2.

Uitsplitsing van queries

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

Queryonderdeel

Beschrijving


$filter=WorkItemType eq 'Feature'

Retourmogelijkheden.

and State ne 'Cut'

Laat functies weg die zijn gemarkeerd als Verwijderd.

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

Werkitems retourneren binnen een specifieke Area Path. Het vervangen door Area/AreaPath eq '{areapath}' retourneert items in een specifieke Area Path.
Als u wilt filteren op teamnaam, gebruikt u de filterinstructie Teams/any(x:x/TeamName eq '{teamname})'.

and Descendants/any()

Filter alle werkitems uit die ten minste één of elke afstammeling hebben. Bevat alle functionaliteiten met ten minste één onderliggend werkitem. Als je alle werkitems met hun nakomelingen wilt ophalen, zelfs als ze er geen hebben, voer dan een query uit zonder het Descendants/any() filter. Om functies zonder onderliggende gebruikersverhalen weg te laten, vervang ze door any(d:d/WorkItemType eq 'User Story').

Voor alle werkitems met en zonder afstammelingen:

$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

Voor alle werkitems met ten minste één afstammeling:

$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

&$select=WorkItemId, Title, WorkItemType, State

Selecteer eigenschappen die u wilt retourneren.

&$expand=Descendants(

Begin van uitvouwclause Descendants

$apply=filter(WorkItemType eq 'User Story')

Filter de afgeleiden. Alleen gebruikersverhalen opnemen (taken en bugs weglaten).

/groupby((StateCategory),

Groepeer het samenvouwen op StateCategory. Zie Hoe werkstroomstatussen en statuscategorieën worden gebruikt in achterstanden en borden voor meer informatie over statuscategorieën.

aggregate(StoryPoints with sum as TotalStoryPoints))

Totale optelsom van verhaalpunten.

)

Sluit Descendants() clausule.

De voortgang van de functieontwikkeling voor een team beoordelen

De volgende query is hetzelfde als de query die eerder is gebruikt, behalve dat deze wordt gefilterd op teamnaam in plaats van op gebiedspad.

Kopieer en plak de volgende Power BI-query rechtstreeks in het Get Data>Blank Query venster. 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/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Cut' "
            &"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 Descendants/any() "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') "
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

De gegevens in Power Query-editor transformeren

De query retourneert verschillende kolommen die u moet uitvouwen voordat u ze kunt gebruiken om een rapport te maken. Elke entiteit die wordt opgehaald met behulp van een OData $expand instructie retourneert een record met mogelijk meerdere velden. Breid de record uit om de entiteit te detailleren in de velden.

Voor het voortgangsrapport van de functie moet u de volgende transformaties uitvoeren:

  • Vouw de Descendants kolom uit in twee kolommen: Descendants.StateCategory en Descendants.TotalStoryPoints
  • Toepassen van de Pivot Column-transformatie op de kolom Descendants.StateCategory om afzonderlijke state-categorieën te scheiden.
  • Vervang nulwaarden in alle gedraaide kolommen.
  • Voeg een aangepaste kolom toe die het percentage voltooid weergeeft. In de aangepaste kolom worden fouten weergegeven als er null-kolommen zijn in de gedraaide statuskolommen .

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

Omgaan met geneste gegevens

Voordat u een draaibewerking uitvoert, moet u ervoor zorgen dat uw gegevensset geen kolommen met geneste gegevens bevat. Volg deze stappen:

  1. Geneste kolommen identificeren: controleer uw gegevensset op kolommen die lijsten, records of tabellen in één cel kunnen bevatten.
  2. Geneste gegevens afvlakken of verwijderen: u kunt de geneste kolommen verwijderen of ze afvlakken door ze uit te vouwen tot afzonderlijke kolommen met behulp van de functie 'Uitvouwen' in Power Query.
  3. Voer de draaibewerking uit: Zodra u de geneste gegevens hebt geadresseerd, kunt u doorgaan met de draaibewerking zonder fouten tegen te komen.

Notitie

In dit voorbeeld zijn de statuswaarden voor GebruikersverhaalVoorgesteld, Wordt uitgevoerd en Voltooid.

Sluit de query en pas uw wijzigingen toe

Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in hetmenu 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 gestapelde staafdiagramrapport maken

  1. Kies in Power BI een gestapeld staafdiagramrapport onder Visualisaties.

    Schermopname van selecties van Power BI-visualisaties en -velden voor een gestapelde staafdiagramweergave met voortgang van functies.

  2. Voeg Title toe aan Y-as.

  3. Voeg toe PercentComplete aan de X-as, klik met de rechtermuisknop en selecteer Som.

Het voorbeeldrapport wordt weergegeven.

Schermopname van het rapport met een gestapelde staafgrafiek over de voortgang van de voorbeeldfunctie.