Udostępnij za pośrednictwem


Przykładowy raport podsumowania postępu funkcji

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

W tym artykule pokazano, jak utworzyć skumulowany raport słupkowy w celu wyświetlenia postępu funkcji na podstawie ukończonych podrzędnych scenariuszy użytkownika. W raporcie jest wyświetlana wartość procentowa ukończona przez zestawienie punktów scenariuszy dla danego zestawu aktywnych funkcji. Przykład pokazano na poniższej ilustracji.

Zrzut ekranu przedstawiający raport wykresu słupkowego z postępem funkcji.

Podobne wykresy słupkowe postępu można wyświetlić z backlogu, dodając kolumnę podsumowania. Aby dowiedzieć się, jak to zrobić, zobacz artykuł Wyświetlanie postępu zestawienia lub sum.

Uwaga

W tym artykule założono, że przeczytałeś Omówienie przykładowych raportów przy użyciu zapytań OData oraz masz podstawową wiedzę na temat Power BI.

Kategoria Wymagania
poziomy dostępu - Członek projektu.
— Co najmniej podstawowy dostęp.
Uprawnienia użytkownika Domyślnie członkowie projektu mają uprawnienia do wykonywania zapytań w usłudze Analytics i tworzenia widoków. Aby uzyskać więcej informacji na temat innych wymagań wstępnych dotyczących włączania usługi i funkcji oraz ogólnych działań śledzenia danych, zobacz Uprawnienia i wymagania wstępne dotyczące dostępu do analizy.

Przykładowe zapytania

Zapytania dotyczące postępu funkcji kierowane są do jednostki WorkItems w celu uzyskania bieżącego stanu postępu.

Uwaga

Aby określić dostępne właściwości dla celów filtru lub raportu, zobacz Dokumentacja metadanych dla usługi Azure Boards. Możesz filtrować zapytania lub zwracać właściwości przy użyciu dowolnej z Property wartości znajdujących się pod EntityType lub NavigationPropertyBinding Path, lub wartości dostępnych w EntitySet. Każda z nich EntitySet odpowiada elementowi EntityType. Aby uzyskać więcej informacji na temat typu danych każdej wartości, zapoznaj się z metadanymi podanymi dla odpowiedniego EntityTypeelementu .

Przegląd postępu funkcjonalności na podstawie ścieżki obszaru

Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio do okna Pobierz dane>Puste zapytanie. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.

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

Ciągi zastępujące i podział zapytań

Zastąp następujące ciągi wartościami. Nie dołączaj nawiasów {} przy substytucji. Na przykład jeśli nazwa organizacji to "Fabrikam", zastąp {organization}ciąg Fabrikam , a nie {Fabrikam}.

  • {organization} — Nazwa organizacji
  • {project} — Nazwa projektu zespołowego lub całkowite pominięcie /{project} dla zapytania obejmującego wiele projektów
  • {areapath} — Ścieżka obszaru. Przykładowy format: Project/Level1/Level2.

Podział zapytań

W poniższej tabeli opisano każdą część zapytania.

Część kwerendy

Opis


$filter=WorkItemType eq 'Feature'

Funkcje zwrotu.

and State ne 'Cut'

Pomiń funkcje oznaczone jako Usuń.

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

Zwrot elementów roboczych w ramach określonej ścieżki obszaru. Zamiana na Area/AreaPath eq '{areapath}' powoduje zwrócenie elementów w określonej ścieżce obszaru.
Aby filtrować według nazwy zespołu, użyj instrukcji Teams/any(x:x/TeamName eq '{teamname})'filter .

and Descendants/any()

Odfiltruj wszystkie elementy robocze, które mają co najmniej jeden lub dowolny element podrzędny. Zawiera wszystkie Funkcje z co najmniej jednym podrzędnym elementem roboczym. Aby pobrać wszystkie elementy robocze ze swoimi elementami podrzędnymi, nawet jeśli nie mają żadnych elementów podrzędnych, uruchom zapytanie bez filtru Descendants/any() . Aby pominąć funkcje, które nie mają podrzędnych scenariuszy użytkownika, zastąp je elementem any(d:d/WorkItemType eq 'User Story').

Dla wszystkich elementów roboczych z lub bez elementów podrzędnych:

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

Dla wszystkich elementów roboczych z co najmniej jednym potomnym:

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

&$select=WorkItemId, Title, WorkItemType, State

Wybierz właściwości do zwrócenia.

&$expand=Descendants(

Początek klauzuli rozwiń Descendants

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

Filtruj elementy podrzędne. Uwzględniaj tylko historie użytkownika (pomijaj zadania i usterki).

/groupby((StateCategory),

Grupuj zestawienie według kategorii stanu. Aby uzyskać więcej informacji na temat kategorii stanów, zobacz How workflow states and state categories are used in Backlogs and Boards (Jak są używane stany przepływu pracy i kategorie stanów w listach prac i tablicach).

aggregate(StoryPoints with sum as TotalStoryPoints))

Całkowita suma punktów historii.

)

Zamknij Descendants() klauzulę.

Przegląd postępu prac nad funkcjami zespołu

Poniższe zapytanie jest takie samo jak użyte powyżej, z wyjątkiem tego, że filtruje według Nazwa zespołu, a nie Ścieżka obszaru.

Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio do okna Pobierz dane>Puste zapytanie. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.

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

Przekształć dane w Edytorze Power Query

Zapytanie zwraca kilka kolumn, które należy rozwinąć, zanim będzie można ich użyć do utworzenia raportu. Każda jednostka ściągana przy użyciu instrukcji OData $expand zwraca rekord z potencjalnie kilkoma polami. Rozwiń rekord, aby przekształcić jednostkę w jej pola.

W przypadku raportu postępu funkcji należy wykonać następujące przekształcenia:

  • Rozwiń kolumnę Descendants na dwie kolumny: Descendants.StateCategory i Descendants.TotalStoryPoints.
  • Zastosuj transformację Kolumny Przestawnej na kolumnie Descendants.StateCategory, aby oddzielić poszczególne kategorie Stanów
  • Zastąp wartości null we wszystkich kolumnach przestawnych.
  • Dodaj kolumnę niestandardową, aby reprezentować procent wykonania. Kolumna niestandardowa wyświetli błędy, jeśli w przestawnych kolumnach State znajdują się jakiekolwiek kolumny o wartości null.

Aby dowiedzieć się, jak to zrobić, zobacz następujące sekcje w temacie Przekształcanie danych analizy w celu generowania raportów usługi Power BI:

Uwaga

W tym przykładzie wartości State dla User Story obejmują Proponowane, W toku oraz Ukończone.

Zamknij zapytanie i zastosuj zmiany

Po zakończeniu wszystkich przekształceń danych wybierz pozycję Zamknij i zastosuj z menu Narzędzia główne , aby zapisać zapytanie i wrócić do karty Raport w usłudze Power BI.

Zrzut ekranu opcji 'Zamknij i Zastosuj' w Edytorze Power Query.

Utwórz raport z wykresem słupkowym skumulowanym

  1. W usłudze Power BI wybierz wykres słupkowy skumulowany w obszarze Wizualizacje.

    Zrzut ekranu przedstawiający wybory wizualizacji i pól w Power BI dla raportu skumulowanego wykresu słupkowego postępu funkcji.

  2. Dodaj Title do osi Y.

  3. Dodaj PercentComplete do osi X, kliknij prawym przyciskiem myszy i wybierz pozycję Suma.

Wyświetla się przykładowy raport.

Zrzut ekranu raportu przedstawiającego wykres słupkowy skumulowany postępu przykładowej funkcji.