Beispielbericht zum Featurestatusrollup
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
In diesem Artikel wird gezeigt, wie Sie einen gestapelten Balkenbericht erstellen, um den Fortschritt der Features basierend auf abgeschlossenen untergeordneten Benutzergeschichten anzuzeigen. Der Bericht zeigt den Prozentsatz vollständig an, indem ein Rollup von Story Points für einen bestimmten Satz aktiver Features ausgeführt wird. In der folgenden Abbildung ist ein Beispiel angegeben.
Sie können ähnliche Statusanzeigendiagramme aus Dem Backlog anzeigen, indem Sie eine Rollupspalte hinzufügen. Informationen dazu finden Sie unter Anzeigen des Rollupfortschritts oder der Summen.
Hinweis
In diesem Artikel wird davon ausgegangen, dass Sie eine Übersicht über Beispielberichte mit OData-Abfragen lesen und ein grundlegendes Verständnis von Power BI haben.
Voraussetzungen
- Access: Mitglied eines Projekts mit mindestens standardem Zugriff sein.
- Berechtigungen: Standardmäßig verfügen Projektmitglieder über die Berechtigung zum Abfragen von Analysen und Erstellen von Ansichten.
- Weitere Informationen zu anderen Voraussetzungen für die Dienst- und Featureaktivierung sowie allgemeine Datenverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.
Beispielabfragen
Der Featurestatus fragt die WorkItems
Entität ab, um den aktuellen Status des Fortschritts abzurufen.
Hinweis
Informationen zum Ermitteln verfügbarer Eigenschaften für Filter- oder Berichtszwecke finden Sie unter Metadatenreferenz für Azure Boards. Sie können Ihre Abfragen filtern oder Eigenschaften zurückgeben, indem Sie einen der Werte unter oder NavigationPropertyBinding Path
EntityType
verwenden, die Property
mit einem EntitySet
verfügbar sind. Jede EntitySet
entspricht einem EntityType
. Weitere Informationen zum Datentyp der einzelnen Werte erhalten Sie in den Metadaten, die für den entsprechenden Wert EntityType
bereitgestellt werden.
Überprüfen des Featurestatus basierend auf einem Bereichspfad
Kopieren Sie die folgende Power BI-Abfrage, und fügen Sie sie direkt in das Fenster "Leere Datenabfrage> abrufen" ein. Weitere Informationen finden Sie unter Übersicht über Beispielberichte mit OData-Abfragen.
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
Ersetzungszeichenfolgen und Abfrageaufschlüsselung
Ersetzen Sie die folgenden Zeichenfolgen durch Ihre Werte. Schließen Sie keine Klammern {} in Ihre Ersetzung ein. Wenn Ihr Organisationsname beispielsweise "Fabrikam" lautet, ersetzen Sie {organization}
durch Fabrikam
, nicht {Fabrikam}
.
{organization}
- Name Ihrer Organisation{project}
- Der Name Ihres Teamprojekts oder ganz ausgelassen/{project}
für eine projektübergreifende Abfrage{areapath}
- Ihr Bereichspfad. Beispielformat:Project/Level1/Level2
.
Abfrageaufschlüsselung
In der folgenden Tabelle werden die einzelnen Teile der Abfrage beschrieben.
Abfrageteil
Beschreibung
$filter=WorkItemType eq 'Feature'
Gibt Features zurück.
and State ne 'Cut'
Lassen Sie Features weg, die als Ausschneiden markiert sind.
and startswith(Area/AreaPath,'{areapath}')
Zurückgeben von Arbeitsaufgaben unter einem bestimmten Bereichspfad. Durch ersetzen Area/AreaPath eq '{areapath}'
gibt Elemente an einem bestimmten Bereichspfad zurück.
Verwenden Sie die Filteranweisung Teams/any(x:x/TeamName eq '{teamname})'
, um nach Teamname zu filtern.
and Descendants/any()
Filtert alle Arbeitsaufgaben mit mindestens einem oder einem untergeordneten Element aus. Enthält alle Features mit mindestens einer untergeordneten Arbeitsaufgabe. Führen Sie eine Abfrage ohne den Descendants/any()
Filter aus, um alle Arbeitsaufgaben mit ihren Nachfolgern abzurufen, auch wenn sie keines haben. Wenn Sie Features weglassen möchten, die keine untergeordneten Benutzergeschichten enthalten, ersetzen Sie diese durch any(d:d/WorkItemType eq 'User Story')
.
Für alle Arbeitsaufgaben mit und ohne Nachfolger:
$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
Für alle Arbeitsaufgaben mit mindestens einem untergeordneten Element:
$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
&$select=WorkItemId, Title, WorkItemType, State
Wählen Sie die zurückzugebenden Eigenschaften aus.
&$expand=Descendants(
Beginn der Erweiterungsklausel Descendants
$apply=filter(WorkItemType eq 'User Story')
Filtern Sie die Nachfolger. Nur Benutzergeschichten enthalten (Aufgaben und Fehler weglassen).
/groupby((StateCategory),
Gruppieren Sie das Rollup nach StateCategory. Weitere Informationen zu Statuskategorien finden Sie unter Verwenden von Workflowzuständen und Zustandskategorien in Backlogs und Boards.
aggregate(StoryPoints with sum as TotalStoryPoints))
Aggregierte Summe von Story Points.
)
Close-Klausel Descendants()
.
Überprüfen des Funktionsfortschritts für ein Team
Die folgende Abfrage ist identisch mit der oben verwendeten Abfrage, mit der Ausnahme, dass sie nach Teamname und nicht nach Bereichspfad gefiltert wird.
Kopieren Sie die folgende Power BI-Abfrage, und fügen Sie sie direkt in das Fenster "Leere Datenabfrage> abrufen" ein. Weitere Informationen finden Sie unter Übersicht über Beispielberichte mit OData-Abfragen.
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
Transformieren der Daten in Power Query-Editor
Die Abfrage gibt mehrere Spalten zurück, die Sie erweitern müssen, bevor Sie sie zum Erstellen eines Berichts verwenden können. Jede Entität, die mithilfe einer OData -$expand-Anweisung abgerufen wird, gibt einen Datensatz mit potenziell mehreren Feldern zurück. Erweitern Sie den Datensatz, um die Entität in die Felder zu reduzieren.
Für den Bericht "Featurestatus" müssen Sie die folgenden Transformationen ausführen:
- Erweitern Sie die
Descendants
Spalte in zwei Spalten:Descendants.StateCategory
undDescendants.TotalStoryPoints
- Anwenden der Pivotspaltentransformation auf
Descendants.StateCategory
Spalte, um einzelne Statuskategorien zu trennen - Ersetzen Sie Nullwerte in allen pivotierten Spalten.
- Fügen Sie eine benutzerdefinierte Spalte hinzu, um den Prozentsatz vollständig darzustellen. In der benutzerdefinierten Spalte werden Fehler angezeigt, wenn in den Pivoted State-Spalten Nullspalten vorhanden sind.
Informationen dazu finden Sie in den folgenden Abschnitten in Transform Analytics-Daten zum Generieren von Power BI-Berichten:
- Erweitern Sie die Spalte "Nachfolger".
- Pivot Descendants.StateCategory-Spalte.
- Ersetzen Sie Nullwerte.
- Erstellen einer berechneten Spalte für einen prozentsatz abgeschlossenen Prozentsatz
Hinweis
In diesem Beispiel enthalten die Statuswerte für den Benutzerabschnitt "Vorgeschlagen", "In Bearbeitung" und "Abgeschlossen".
Schließen Sie die Abfrage, und wenden Sie Ihre Änderungen an.
Nachdem Sie alle Datentransformationen abgeschlossen haben, wählen Sie "Schließen" und "Übernehmen " im Menü "Start " aus, um die Abfrage zu speichern und zur Registerkarte "Bericht " in Power BI zurückzukehren.
Erstellen des Diagrammberichts für gestapelte Balken
Wählen Sie in Power BI unter "Visualisierungen" den Bericht "Gestapelte Balkendiagramme" aus.
Zur Y-Achse hinzufügen
Title
.Zu X-Achse hinzufügen
PercentComplete
, klicken Sie mit der rechten Maustaste, und wählen Sie "Summe" aus.
Der Beispielbericht wird angezeigt.
Verwandte Artikel
- Erkunden von Beispielberichten mithilfe von OData-Abfragen
- Erstellen von OData-Abfragen für Analytics
- Herstellen einer Verbindung mit Power BI mithilfe von OData-Abfragen
- Informationen zu Metadaten für Azure Boards Analytics
- Access-Beispielberichte und Kurzübersichtsindex
- Hinzufügen eines Teamdatenschnitts zu einem vorhandenen Bericht