Przykładowe zapytania i raporty dotyczące wydań
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Raporty burndown i burnup pokazują, ile pracy jest ukończone w czasie. Na poniższej ilustracji przedstawiono wypalenie zarówno według liczby scenariuszy użytkownika, jak i sumy punktów scenariuszy.
Wykresy burndown mają sens tylko wtedy, gdy planujesz pracę na okres wykresu. W przeciwnym razie, jeśli planujesz przebieg po przebiegu, nie zobaczysz standardowego postępu. W tych przypadkach wykres spalony ma większe znaczenie, aby zobaczyć, jak postęp jest w czasie.
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, zobacz Configure a burndown or burnup widget and Burndown and burnup guidance (Konfigurowanie widżetu spalania lub burnup) oraz Burndown and burnup guidance (Wskazówki dotyczące burndown i burnup).
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
- Dostęp: być członkiem projektu z co najmniej dostępem podstawowym.
- Uprawnienia: 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 w tej sekcji pokazują, jak generować wykresy postępu elementów roboczych na podstawie danych historycznych. Wszystkie te zapytania określają WorkItemSnapshot
zestaw jednostek.
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 EntitySet
lub 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 EntityType
elementu .
Burndown of User Stories in an area path from start and end date (Wypalenie scenariuszy użytkownika w ścieżce obszaru od daty rozpoczęcia i zakończenia)
Poniższe zapytanie pokazuje, jak zwracać dane historyczne scenariuszy użytkownika dla wydania na podstawie elementów roboczych oznaczonych tagiem wydania.
Uwaga
W przypadku raportów opartych na filtrowaniu tagu tag musi być przypisany do elementu roboczego na początku wydania lub daty rozpoczęcia wypalenie/spalenie. W przeciwnym razie element roboczy nie jest uwzględniony w zwracanych danych.
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 StateCategory ne 'Completed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Tags/any(x:x/TagName eq '{tagname}') "
&"and DateValue ge {startdate} "
&"and DateValue le {enddate} "
&") "
&"/groupby ( "
&"(DateValue,State,Area/AreaPath), "
&"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 Fabrikam
ciąg {organization}
, a nie {Fabrikam}
.
{organization}
— Nazwa organizacji{project}
— Nazwa projektu zespołowego lub całkowicie pomiń "/{project}" dla zapytania obejmującego wiele projektów{areapath}
— Ścieżka obszaru. Przykładowy format:Project\Level1\Level2
{tag}
— tag reprezentujący wydanie. Wszystkie elementy robocze oznaczone tagiem{tagname}
są uwzględnione w raporcie{startdate}
- Data rozpoczęcia raportu o burndown z formatem:YYYY-MM-DDZ
. Na przykład:2022-04-01Z
reprezentuje 2022-Kwiecień-01. Nie ujęć w cudzysłów.{enddate}
— Data zakończenia raportu o burndown.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(WorkItemType eq 'User Story'
Uwzględnij scenariusze użytkownika w zamknięciu.
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 startswith(Area/AreaPath,'{areapath}')
Uwzględnij tylko scenariusze użytkownika w ramach określonej ścieżki obszaru zastępującej '{areapath}'
element .
Aby filtrować według nazwy zespołu, użyj instrukcji Teams/any(x:x/TeamName eq '{teamname})'
filter .
and Tags/any(x:x/TagName eq '{tagname}')
.
Określa etykietę tagu reprezentującą wydanie, w ramach którego ma być włączane, oraz uwzględnia wszystkie elementy robocze oznaczone tagiem {tagname} w raporcie.
and DateValue ge {startdate}
Rozpocznij uruchamianie w dniu lub po określonej dacie. Przykład: 2019-04-01Z reprezentuje 2019-Kwiecień-01.
and DateValue le {enddate}
Rozpocznij spalenie w określonym dniu lub przed określoną datą. Taki sam format jak {startdate}.
)
Zamknij filter()
klauzulę.
/groupby (
Klauzula Start groupby()
.
(DateValue, State, Area/AreaPath),
Grupuj według DateValue
(używane do trendów) i wszystkie pola, na których chcesz raportować.
aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints)
Agregowanie według liczby historii użytkowników i sumy punktów scenariuszy.
)
Zamknij groupby()
klauzulę.
Burndown of User Stories for a team (Tworzenie scenariuszy użytkowników dla zespołu)
Poniższe zapytanie zwraca dane ze spalania przefiltrowane 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 StateCategory ne 'Completed' "
&"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 Tags/any(x:x/TagName eq '{tagname}') "
&"and DateValue ge {startdate} "
&"and DateValue le {enddate} "
&") "
&"/groupby ( "
&"(DateValue,State,Area/AreaPath), "
&"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Scenariusze użytkownika burndown z migawką co piątek
Użycie cotygodniowej migawki zmniejsza ilość danych ściągniętych do usługi Power BI i zwiększa wydajność zapytań.
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 StateCategory ne 'Completed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Tags/any(x:x/TagName eq '{tagname}') "
&"and DateValue ge {startdate} "
&"and DateValue le {enddate} "
&"and Date/DayName eq 'Friday' "
&") "
&"/groupby ( "
&"(DateValue,State,Area/AreaPath,AreaSK), "
&"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Scenariusze użytkownika burndown na podstawie obszaru i ścieżki iteracji
Niektóre organizacje używają ścieżek iteracji do oznaczania scenariuszy dla wydania. Na przykład mogą mieć ścieżkę iteracji MyProject\Release1. Poniższe zapytanie pokazuje, jak wybrać pozycję Scenariusze użytkownika według ścieżki 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 StateCategory ne 'Completed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and startswith(Iteration/IterationPath,'{iterationpath}') "
&"and DateValue ge {startdate} "
&"and DateValue le {enddate} "
&") "
&"/groupby ( "
&"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
&"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Scenariusze użytkownika burndown z wartością pola niestandardowego
Niektóre organizacje używają pola niestandardowego do oznaczania scenariuszy użytkownika dla wydania. Na przykład mogą mieć pole o nazwie Kamień milowy. To zapytanie pokazuje, jak wybrać pozycję Scenariusze użytkownika według pola niestandardowego.
Musisz zastąpić zarówno zapytanie, jak {customfieldname}
i {releasevalue}
w zapytaniu. Aby określić nazwę pola niestandardowego, zobacz Dokumentacja metadanych dla usługi Azure Boards, właściwości niestandardowych. Zastąp {customfieldname}
ciąg nazwą właściwości niestandardowej, na przykład Custom_Milestone
.
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 StateCategory ne 'Completed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and {customfieldname} eq '{releasevalue}' "
&"and DateValue ge {startdate} "
&"and DateValue le {enddate} "
&") "
&"/groupby ( "
&"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
&"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,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.
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:
Links
Links.TargetWorkItem
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.
Tworzenie klastrowanego wykresu kolumnowego
W usłudze Power BI wybierz pozycję Wykres kolumnowy grupowany w obszarze Wizualizacje.
Dodaj
DateValue
do osi X, kliknij prawym przyciskiem myszy i wybierz polecenieDateValue
, a nieDate Hierarchy
Dodaj
Count
do osi Y.Dodaj
TotalStoryPoints
do osi Y.
Przykładowy raport wyświetla zestawienie liczby scenariuszy i sum lub Story Points.
Powiązane artykuły
- Eksplorowanie przykładowych raportów przy użyciu zapytań OData
- Konstruowanie zapytań OData na potrzeby analizy
- Nawiązywanie połączenia z usługą Power BI przy użyciu zapytań OData
- Zapoznaj się z metadanymi usługi Azure Boards Analytics
- Uzyskiwanie dostępu do przykładowych raportów i szybkiego indeksu referencyjnego
- Dodawanie fragmentatora zespołu do istniejącego raportu