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.
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 EntityType
elementu .
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
iDescendants.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:
- Rozwiń kolumnę Potomkowie.
- Pivot Descendants.StateCategory kolumna.
- Zastąp wartości null.
- Utwórz kolumnę obliczeniową przedstawiającą procent ukończenia
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.
Utwórz raport z wykresem słupkowym skumulowanym
W usłudze Power BI wybierz wykres słupkowy skumulowany w obszarze Wizualizacje.
Dodaj
Title
do osi Y.Dodaj
PercentComplete
do osi X, kliknij prawym przyciskiem myszy i wybierz pozycję Suma.
Wyświetla się przykładowy raport.
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
- Dodaj fragmentator zespołu do istniejącego raportu