Auflisten verknüpfter Arbeitsaufgabenbeispielabfragen und -berichte

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

In diesem Artikel wird erläutert, wie Sie einen Bericht erstellen, in dem Arbeitsaufgaben aufgelistet werden, die mit anderen Arbeitsaufgaben verknüpft sind. Der folgende Bericht zeigt z. B. eine Liste der Features, die mit User Stories mit dem Linktyp "Parent-child" verknüpft sind.

Screenshot der Links zu Übergeordneten und untergeordneten Elementen des Tabellenberichts

Weitere Informationen zu Linktypen und zum Verknüpfen von Arbeitsaufgaben finden Sie unter "Verknüpfen von Benutzerartikeln, Problemen, Fehlern und anderen Arbeitsaufgaben".

Andere Beispielabfragen umfassen das Auflisten von Fehlern mit einem Doppelten Link zu einem anderen Fehler und das Auflisten von Fehlern, die keinen Doppelten Link zu einem anderen Fehler enthalten.

Hinweis

In diesem Artikel wird davon ausgegangen, dass Sie die Übersicht über Beispielberichte mit OData-Abfragen gelesen haben und über ein grundlegendes Verständnis von Power BI verfügen.

Voraussetzungen

  • Um Analytics-Daten anzuzeigen und den Dienst abzufragen, müssen Sie Mitglied eines Projekts mit oder höherer Basiszugriff sein. Standardmäßig erhalten alle Projektmitglieder Berechtigungen zum Abfragen von Analytics und zum Definieren von Analytics-Ansichten.
  • Weitere Informationen zu weiteren Voraussetzungen für die Dienst- und Featureaktivierung sowie allgemeine Datennachverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.

Beispielabfragen

Es werden mehrere Abfragen bereitgestellt, die zeigen, wie verknüpfte Arbeitsaufgaben gefiltert werden. Alle diese Abfragen geben die WorkItems Entitätsmenge an, während sie aktuelle Daten zurückgeben.

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 PathEntityType verwenden, die Property mit einem EntitySetverfügbar sind. Jede EntitySet entspricht einem EntityType. Weitere Informationen zum Datentyp der einzelnen Werte finden Sie in den Metadaten, die für den entsprechenden EntityTypebereitgestellt werden.

Zurückgeben von Features und ihren untergeordneten Benutzergeschichten

Sie können die unten aufgeführte Power BI-Abfrage direkt in das Fenster Get Data-Blank> Query einfügen. 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 'Closed' and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') " 
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Child' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,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 das vollständige Auslassen von "/{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'

Benutzergeschichten zurückgeben.

and State ne 'Closed' and State ne 'Removed'

Lassen Sie Features aus, deren Status auf "Geschlossen" oder "Entfernt" festgelegt ist.

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

Fügen Sie nur Features unter einem bestimmten Bereichspfad ein, der ersetzt wird '{areapath}'.
Verwenden Sie die Filteranweisung Teams/any(x:x/TeamName eq '{teamname})', um nach einem Teamnamen zu filtern.

&$select=WorkItemId,Title,WorkItemType,State,AreaSK

Wählen Sie felder aus, die zurückgegeben werden sollen.

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),

Geben Sie Felder an, die zum Erweitern AssignedTound AreaIterationEntitäten verwendet werden sollen.

Links(

Erweitern Sie die Links Entität.

$filter=LinkTypeName eq 'Child'

Filtert verknüpfte Arbeitsaufgaben nur auf Diejenigen mit untergeordnetem Linktyp. Weitere Beispiele sind "Parent", "Child", "Duplicate Of", "Duplicate Of", "Affected By".

and TargetWorkItem/WorkItemType eq 'User Story';

Fügen Sie nur verknüpfte Benutzergeschichten hinzu.

$select=LinkTypeName;

Wählen Sie die LinkTypeName zurückzugebende Eigenschaft aus.

$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)

Wählen Sie die Eigenschaften der verknüpften Arbeitsaufgabe aus, die zurückgegeben werden soll.

)

Schließen Sie die Links() Klausel.

Sie können die unten aufgeführte Power BI-Abfrage direkt in das Fenster Get Data-Blank> Query einfügen. 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 'User Story' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Gibt verknüpfte Benutzergeschichten zurück, die nach Teams gefiltert wurden

Die folgende Abfrage ist identisch mit der abfrage, die zuvor in diesem Artikel verwendet wurde, mit der Ausnahme, dass sie nach Teamname und nicht nach Bereichspfad gefiltert wird.

Sie können die unten aufgeführte Power BI-Abfrage direkt in das Fenster Get Data-Blank> Query einfügen. 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 'User Story' "
            &"and State ne 'Closed' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Sie können die unten aufgeführte Power BI-Abfrage direkt in das Fenster Get Data-Blank> Query einfügen. 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 'Bug' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
            &"Links( "
                &"$filter=LinkTypeName eq 'Duplicate' "
                &"and TargetWorkItem/WorkItemType eq 'Bug'; "
                    &"$select=LinkTypeName; "
                &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
            &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Sie können die unten aufgeführte Power BI-Abfrage direkt in das Fenster Get Data-Blank> Query einfügen. 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 'Bug' "
                &"and State ne 'Closed' "
                &"and startswith(Area/AreaPath,'{areapath}') "
                &"and not (Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug')) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Optional) Abfrage umbenennen

Sie können die Standardabfragebezeichnung Query1 in aussagekräftiger umbenennen. Geben Sie einfach im Bereich Abfrageeinstellungen einen neuen Namen ein.

Screenshot: Menüoptionen für Power BI-Abfragen, Abfrage umbenennen.

Transformieren von Daten in Power Query-Editor

Vor dem Erstellen des Berichts müssen Sie Spalten erweitern, die Datensätze zurückgeben, die mehrere Felder enthalten. In diesem Fall sollten Sie die folgenden Datensätze erweitern:

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

Informationen zum Erweitern von Arbeitselementen finden Sie unter Transformieren von Analysedaten zum Generieren von Power BI-Berichten.

(Optional) Umbenennen von Feldern

Nachdem Sie die Spalten erweitert haben, können Sie ein oder mehrere Felder umbenennen. Sie können z. B. die Spalte AreaPath umbenennen in Area Path. Sie können sie in der Datentabellenansicht oder später umbenennen, wenn Sie den Bericht erstellen. Informationen dazu finden Sie unter Umbenennen von Spaltenfeldern.

In diesem Beispiel wurden die folgenden Felder umbenannt:

Ursprünglicher Feldname Umbenennen
Links.TargetWorkItem.ID Ziel-ID
LinksLinkTypeName Verknüpfungstyp
Links.TargetWorkItem.State Zielstatus
Links.TargetWorkItem.Title Zieltitel

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.

Screenshot der Option

Erstellen eines Tabellenberichts zum Auflisten verknüpfter Arbeitsaufgaben

  1. Wählen Sie in Power BI unter "Visualisierungen" den Tabellenbericht aus.

    Screenshot der Auswahl von Power BI-Visualisierungen und -Feldern für den Listentabellenbericht

  2. Fügen Sie die folgenden Felder in der Reihenfolge hinzu, die in Spalten angegeben ist:

    • ID, klicken Sie mit der rechten Maustaste, und wählen Sie "Nicht zusammenfassen" aus.
    • State
    • Titel
    • Ziel-ID, klicken Sie mit der rechten Maustaste, und wählen Sie "Nicht zusammenfassen" aus.
    • Verknüpfungstyp
    • Zielstatus
    • Zieltitel

Der Beispielbericht wird angezeigt.

Screenshot der Links zu