Udostępnij za pośrednictwem


Przykładowe raporty dotyczące postępu przebiegu

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

Wykresy postępu przebiegu są przydatne do monitorowania, jak dobrze zespół wykonuje swój plan przebiegu. Kilka wbudowanych wykresów i widżetów pulpitów nawigacyjnych obsługuje monitorowanie postępu przebiegu. Zobacz Konfigurowanie i monitorowanie postępu przebiegu.

Można jednak dostosować wykres postępu przebiegu przy użyciu analizy i usługi Power BI z zapytaniami podanymi w tym artykule. W poniższym przykładzie pokazano wypalenie scenariuszy użytkownika i ich stanów.

Zrzut ekranu przedstawiający raport wykresu kolumnowego klastrowanego przebiegu usługi Power BI.

Ważne

  • Usunięcie ścieżek obszaru lub ponowne skonfigurowanie ścieżek iteracji powoduje nieodwracalną utratę danych. Na przykład wykresy z widżetami burndown i burnup, burndown i velocity charts dla zespołów ze zmienionymi ścieżkami obszaru nie będą wyświetlać dokładnych danych. Historyczne wykresy trendów odwołują się do ścieżki obszaru i ścieżki iteracji, ponieważ zostały one zdefiniowane w czasie dla każdego elementu roboczego. Po usunięciu nie można pobrać danych historycznych dla tych ścieżek.
  • Można usuwać tylko ścieżki obszaru i iteracji, które nie są już używane przez żadne elementy robocze.

Aby uzyskać więcej informacji na temat burndown i burnup, oraz Burndown i burnup guidance (Burndown i burnup guidance).

Uwaga

W tym artykule założono, że zapoznasz się z omówieniem przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat usługi Power BI.

Wymagania wstępne

Przykładowe zapytania

Wykresy burndown wymagają wykonywania zapytań względem zestawu jednostek w WorkItemSnapshot celu pobrania danych historycznych.

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 dostępnych EntityType w elemecie EntitySetlub NavigationPropertyBinding Path . 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 .

Scenariusze użytkownika burndown dla ścieżki obszaru i bieżącej iteracji

Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Ciągi podstawienia i podział zapytań

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

  • {areapath} — Ścieżka obszaru. Przykładowy format: Project\Level1\Level2.

Podział zapytań

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

Część kwerendy

Opis


$apply=filter(

Filtr początkowy()

WorkItemType eq 'User Story'

Burndown on User Stories

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

Elementy robocze w ramach określonej ścieżki obszaru. Zamienianie na Area/AreaPath eq '{areapath}' elementy zwracane w określonej ścieżce obszaru.

Aby filtrować według nazwy zespołu, użyj instrukcji filter Teams/any(x:x/TeamName eq '{teamname})'

and StateCategory ne 'Completed'

Filtruje ukończone elementy. 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).

and DateValue ge Iteration/StartDate

Rozpocznij trend na początku iteracji.

and DateValue le Iteration/EndDate

Koniec trendu na końcu iteracji.

and Iteration/StartDate le now()

Wybierz bieżącą iterację.

and Iteration/EndDate ge now()

Wybierz bieżącą iterację

)

Zamknij filtr()

/groupby(

Rozpocznij grupowanie()

(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),

Grupuj według wartości DateValue (używanej do trendów) i wszystkie pola, dla których chcesz raportować

aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)

Agregowanie według liczby scenariuszy użytkownika i suma punktów scenariuszy

)

Zamknij grupowanie()

Scenariusze użytkownika burndown dla zespołu i bieżącej iteracji

To zapytanie jest takie samo jak użyte powyżej, z wyjątkiem filtrów według nazwy zespołu, a nie ścieżki obszaru.

Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"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 StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Scenariusze użytkownika burndown dla wszystkich przebiegów od początku roku

Możesz wyświetlić spalenie wszystkich przebiegów w jednym raporcie. Te zapytania ściągają przebiegi, a ich według punktów historii, dla wszystkich przebiegów od początku roku 2022.

Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate ge 2022-01-01Z "
        &") "
        &"/groupby( "
            &"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Zadania wypalenia i praca pozostała

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

Doc-ready Power BI Query (anonymized)
let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"startswith(Area/AreaPath,'{project}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
            &"and WorkItemType eq 'Task' "
        &") "
            &"/groupby( "
            &"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Opcjonalnie) Zmienianie nazwy zapytania

Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Po prostu wprowadź nową nazwę w okienku Ustawienia zapytania.

Zrzut ekranu przedstawiający opcje menu zapytania usługi Power BI, zmień nazwę zapytania.

Rozwijanie kolumn w Edytor Power Query

Przed utworzeniem raportu należy rozwinąć kolumny zwracające rekordy zawierające kilka pól. W tym przypadku należy rozwinąć następujące rekordy:

  • Area
  • Iteration
  • AssignedTo

Aby dowiedzieć się, jak rozwinąć elementy robocze, zobacz Transform Analytics data to generate Power BI reports (Przekształcanie danych analizy w celu generowania raportów usługi Power BI).

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 przedstawiający opcję zamknij i zastosuj Edytor Power Query.

Tworzenie skumulowanego raportu wykresu kolumnowego

  1. W usłudze Power BI wybierz raport Skumulowany wykres kolumnowy w obszarze Wizualizacje.

    Zrzut ekranu przedstawiający opcje Wizualizacje i Pola usługi Power BI dla raportu Postępu przebiegu.

  2. Dodaj DateValue do osi X, kliknij prawym przyciskiem myszy i wybierz polecenie DateValue, a nie Date Hierarchy

  3. Dodaj Count do osi Y.

  4. Dodaj State do osi Y.

Przykładowy raport, który wyświetla wypalenie zarówno w punktach historii, jak i w liczbie historii.

Zrzut ekranu przedstawiający przykładowy raport wykresu kolumnowego klastrowanego przebiegu usługi Power BI.