Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 rollup rapporten maakt met Power BI, kunnen er problemen optreden met betrekking tot geneste data in uw datasets. Met name als u probeert een tabel te draaien die kolommen met geneste gegevens bevat, kan dit een foutbericht geven. Zie de sectie over het verwerken van geneste gegevens voor meer informatie.
Vereiste voorwaarden
| Categorie | Vereisten |
|---|---|
| Toegangsniveaus |
-
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 Overview 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
Zie de Metadata-verwijzing voor Azure Boards voor informatie over beschikbare eigenschappen voor filteren of rapporteren. U kunt query's filteren of eigenschappen retourneren met behulp van een Property waarde die is gedefinieerd onder een EntityType, of een NavigationPropertyBinding Path waarde die wordt vermeld voor een EntitySet. Elke EntitySet wordt toegewezen aan een EntityType, waarmee het gegevenstype voor elke eigenschap wordt gedocumenteerd.
De voortgang van de functie controleren op basis van een gebiedspad
Kopieer en plak de volgende Power BI query rechtstreeks in het venster Get Data>Blank Query. 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. Voeg de accolades {} niet toe in uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u deze {organization}door 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 'Removed'
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 u eerder hebt gebruikt, maar filtert op teamnaam in plaats van op gebiedspad.
Kopieer en plak de volgende Power BI query rechtstreeks in het venster Get Data>Blank Query. 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 u ophaalt met behulp van een OData-instructie $expand retourneert een record met mogelijk meerdere velden. Breid de record uit om de entiteit te detailleren in de velden.
Voer voor het rapport Voortgang van onderdelen de volgende transformaties uit:
- Vouw de
Descendantskolom uit in twee kolommen:Descendants.StateCategoryenDescendants.TotalStoryPoints. - Pas de transformatie van de draaikolom op de
Descendants.StateCategorykolom toe om afzonderlijke statuscategorieë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 gepivoteerde status-kolommen.
Zie Transform Analytics-gegevens om Power BI rapporten te genereren voor meer informatie.
Omgaan met geneste gegevens
Voordat u een draaitabelbewerking uitvoert, moet u ervoor zorgen dat uw dataset geen kolommen met geneste gegevens bevat. Volg deze stappen:
- Geneste kolommen identificeren: controleer uw gegevensset op kolommen die lijsten, records of tabellen in één cel kunnen bevatten.
- Geneste gegevens vergroten of verwijderen: Verwijder de geneste kolommen of maak ze plat door ze uit te vouwen in afzonderlijke kolommen met behulp van de functie Expand in Power Query.
- Voer de draaibewerking uit: Nadat u de geneste gegevens hebt opgelost, kunt u doorgaan met de draaibewerking zonder dat er fouten optreden.
Notitie
In dit voorbeeld zijn de statuswaarden voor GebruikersverhaalVoorgesteld, Wordt uitgevoerd en Voltooid.
Sluit de query en pas uw wijzigingen toe
Wanneer u alle gegevenstransformaties hebt voltooid, selecteert u Sluiten en toepassen in het menu Start . Met deze actie wordt de query opgeslagen en wordt u geretourneerd naar het tabblad Rapport in Power BI.
Het gestapelde staafdiagramrapport maken
Selecteer in Power BI Stacked staafdiagram onder Visualisaties.
Voeg
Titletoe aan Y-as.Voeg
PercentCompletetoe aan de X-as, klik met de rechtermuisknop en selecteer Som.
Het voorbeeldrapport wordt weergegeven.