Wyświetlanie listy połączonych elementów roboczych — przykładowe zapytania i raporty
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
W tym artykule pokazano, jak utworzyć raport zawierający listę elementów roboczych połączonych z innymi elementami roboczymi. Na przykład w poniższym raporcie przedstawiono listę funkcji połączonych z scenariuszami użytkownika z typem linku nadrzędny-podrzędny.
Aby uzyskać więcej informacji na temat typów linków i łączenia elementów roboczych, zobacz Łączenie historii użytkowników, problemów, usterek i innych elementów roboczych.
Inne przykładowe zapytania obejmują wyświetlanie listy usterek z linkiem Duplikuj do innej usterki oraz wyświetlanie listy usterek, które nie zawierają linku Duplikuj do innej usterki.
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
Podano kilka zapytań, które pokazują, jak filtrować połączone elementy robocze. Wszystkie te zapytania określają WorkItems
zestaw jednostek, gdy zwracają bieżące dane.
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 .
Zwracanie funkcji i podrzędnych scenariuszy użytkownika
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/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
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
.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$filter=WorkItemType eq 'Feature'
Zwracanie historii użytkownika.
and State ne 'Closed' and State ne 'Removed'
Pomiń funkcje, których stan ma wartość Zamknięte lub Usunięte.
and startswith(Area/AreaPath,'{areapath}')
Uwzględnij tylko funkcje w ramach określonej ścieżki obszaru zastępującej element '{areapath}'
.
Aby filtrować według nazwy zespołu, użyj instrukcji Teams/any(x:x/TeamName eq '{teamname})'
filter .
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
Wybierz pola, które mają być zwracane.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
Określ pola, które mają być używane do rozwijania AssignedTo
jednostek , Iteration
i Area
.
Links(
Links
Rozwiń jednostkę.
$filter=LinkTypeName eq 'Child'
Filtruj połączone elementy robocze tylko do tych z typem linku Podrzędne . Inne przykłady to Parent, Child, Duplicate, Duplicate Of, Affects, Affected By.
and TargetWorkItem/WorkItemType eq 'User Story';
Uwzględnij tylko połączone scenariusze użytkownika.
$select=LinkTypeName;
LinkTypeName
Wybierz właściwość, która ma być zwracana.
$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)
Wybierz właściwości połączonego elementu roboczego do zwrócenia.
)
Zamknij klauzulę Links()
.
Zwracanie historii użytkownika połączonych z typem linku Powiązane
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/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
Zwracanie połączonych historii użytkowników filtrowanych przez usługę Teams
Poniższe zapytanie jest takie samo jak zapytanie użyte wcześniej w tym artykule, 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/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
Zwracanie usterek za pomocą zduplikowanego linku do innej usterki
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/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
Zwracanie usterek, które nie mają zduplikowanego łącza do innej usterki
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/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
(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.
Przekształcanie danych 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).
(Opcjonalnie) Zmienianie nazwy pól
Po rozwinięciu kolumn możesz zmienić nazwę co najmniej jednego pola. Możesz na przykład zmienić nazwę kolumny AreaPath
na Area Path
. Możesz zmienić ich nazwy w widoku tabeli danych lub później podczas tworzenia raportu. Aby dowiedzieć się, jak to zrobić, zobacz Zmienianie nazwy pól kolumn.
W tym przykładzie zmieniono nazwy następujących pól:
Oryginalna nazwa pola | Zmień nazwę |
---|---|
Links.TargetWorkItem.ID | Identyfikator docelowy |
LinksLinkTypeName | Typ łącza |
Links.TargetWorkItem.State | Stan docelowy |
Links.TargetWorkItem.Title | Tytuł docelowy |
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 raportu tabeli w celu wyświetlenia listy połączonych elementów roboczych
W usłudze Power BI wybierz pozycję Raport tabeli w obszarze Wizualizacje.
Dodaj następujące pola w kolejności wskazanej do kolumn:
- Identyfikator, kliknij prawym przyciskiem myszy i wybierz polecenie Nie sumuj
- Stanowy
- Tytuł
- Identyfikator docelowy, kliknij prawym przyciskiem myszy i wybierz polecenie Nie sumuj
- Typ łącza
- Stan docelowy
- Tytuł docelowy
Zostanie wyświetlony 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
- Dodawanie fragmentatora zespołu do istniejącego raportu