Przykładowy raport dotyczący trendu wskaźnika zdawalności w potoku
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
W tym artykule pokazano, jak utworzyć raport, który pokazuje trend dziennego współczynnika przekazywania potoku. Współczynnik zdawalności potoku jest definiowany jako procent pomyślnych przebiegów potoku do łącznej liczby uruchomień potoku. Jest on podobny do wykresu "Trend szybkości przekazywania" w raporcie Szybkość przekazywania potoku. Na poniższej ilustracji przedstawiono przykład takiego trendu.
Ważne
Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne dla usług Azure DevOps Services i Azure DevOps Server 2020 i nowszych wersji. Przykładowe zapytania podane w tym artykule są prawidłowe tylko w przypadku usługi Azure DevOps Server 2020 i nowszych wersji oraz zależą od wersji 3.0 w wersji zapoznawczej lub nowszej. Zachęcamy do korzystania z tych zapytań i przekazywania opinii.
Kategoria | Wymagania |
---|---|
poziomy dostępu |
-
Członek projektu. — Co najmniej dostęp w warstwie podstawowej. |
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. |
Uwaga
W tym artykule zakłada się, że przeczytasz omówienie przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat usługi Power BI.
Przykładowe zapytania
Następujące zapytania PipelineRuns
zestawu jednostek umożliwiają tworzenie różnych, ale podobnych raportów trendów szybkości przekazywania.
Uwaga
Aby określić dostępne właściwości dla celów filtru lub raportu, zobacz Dokumentacja metadanych dla usługi Azure Pipelines. Możesz filtrować zapytania lub zwracać właściwości, używając dowolnej z wartości Property
, które są dostępne pod EntityType
lub NavigationPropertyBinding Path
w kontekście 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 .
Trend szybkości przekazywania dla nazwanego potoku
Następujące zapytania zwracają uruchomienia potoku dla określonego potoku od określonej daty rozpoczęcia.
Skopiuj i wklej następujące zapytanie 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/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedDate ge {startdate} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,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 {organization}
ciąg Fabrikam
, a nie {Fabrikam}
.
-
{organization}
— Nazwa organizacji -
{project}
— Nazwa projektu zespołowego -
{pipelinename}
— Nazwa potoku. Przykład:Fabrikam hourly build pipeline
-
{startdate}
— Data rozpoczęcia raportu. Format: RRRR-MM-DDZ. Przykład:2021-09-01Z
reprezentuje 1 września 2021 r. Nie umieszczaj w cudzysłowie ani nawiasach i używaj dwóch cyfr zarówno dla miesiąca, jak i dnia.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(
Rozpocznij klauzulę filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Zwracanie przebiegów potoku dla określonego potoku.
and CompletedDate ge {startdate}
Potok zwracany jest uruchamiany w określonym dniu lub po określonej dacie.
and CanceledCount ne 1
Pomiń anulowane uruchomienia potoków.
)
Zamknij filter()
klauzulę.
/groupby(
Rozpocznij klauzulę groupby()
.
(CompletedOn/Date),
Grupuj według daty ukończenia przebiegu potoku.
aggregate
Uruchom klauzulę aggregate
dla wszystkich przebiegów potoku pasujących do kryteriów filtrowania.
($count as TotalCount,
Zlicz łączną liczbę cykli jako TotalCount
.
SucceededCount with sum as SucceededCount ,
Zlicz liczbę pomyślnych przebiegów jako SucceededCount
.
FailedCount with sum as FailedCount,
Zlicz liczbę przebiegów zakończonych niepowodzeniem jako FailedCount
.
PartiallySucceededCount with sum as PartiallySucceededCount))
Zlicz liczbę częściowo pomyślnych przebiegów jako PartiallySucceededCount
. Zamknij aggregate()
i groupby()
klauzule.
/compute(
Początek klauzuli compute()
.
SucceededCount mul 100.0 div TotalCount as PassRate,
Oblicz PassRate
dla każdego dnia, dzieląc liczbę pomyślnych przebiegów według liczby przebiegów całkowitych.
FailedCount mul 100.0 div TotalCount as FailRate,
Oblicz FailRate
dla każdego dnia, dzieląc liczbę przebiegów zakończonych niepowodzeniem według łącznej liczby przebiegów.
PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)
Oblicz PartiallySuccessfulRate
dla każdego dnia, dzieląc liczbę częściowo pomyślnych przebiegów według liczby przebiegów całkowitych.
&$orderby=CompletedOn/Date asc
Posortuj wynik w kolejności rosnącej według daty uruchomienia potoku.
Trend szybkości przekazywania dla identyfikatora potoku
Nazwy potoków można zmienić. Aby mieć pewność, że raporty Power BI nie zostaną zakłócone podczas zmiany nazwy potoku, używaj identyfikatora potoku zamiast jego nazwy. Identyfikator potoku można uzyskać z adresu URL strony przebiegów potoków.
https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}
Następujące zapytania zwracają uruchomienia potoku dla wskazanego identyfikatora potoku od określonej daty początkowej.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio w okno 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/PipelineRuns?"
&"$apply=filter( "
&"PipelineId eq {pipelineId} "
&"and CompletedDate ge {startdate} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Trend szybkości przekazywania, filtruj według gałęzi
Możesz chcieć wyświetlić trend wskaźnika zdawalności tylko dla określonej gałęzi. Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z opisem w sekcjach Zmienianie typu danych kolumny i Tworzenie raportu wykresu liniowego.
- Rozwiń
Branch
doBranch.BranchName
. - Wybierz wizualizację Fragmentator usługi Power BI i dodaj
Branch.BranchName
go do pola Fragmentator. - Wybierz gałąź z fragmentatora, dla którego chcesz zobaczyć trend szybkości przekazywania.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio w oknie Get Data>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/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedDate ge {startdate} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(Branch/BranchName, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Trend szybkości przekazywania, filtruj według przyczyny kompilacji
Możesz wyświetlić trend szybkości przekazywania potoku tylko z określonych powodów kompilacji (ręczne/wsadowe, żądanie ściągnięcia itd.). Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z opisem w sekcjach Zmienianie typu danych kolumny i Tworzenie raportu wykresu liniowego.
- Wybierz pozycję Fragmentator w okienku Wizualizacje i dodaj element
RunReason
do pola fragmentatora. - Wybierz potok z fragmentatora, dla którego chcesz zobaczyć trend szybkości przekazywania.
Skopiuj i wklej poniższe zapytanie Power BI bezpośrednio do okna Pobieranie danych>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/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedDate ge {startdate} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(RunReason, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Trend wskaźnika zdawalności dla wszystkich linii projektu
Użyj następujących zapytań, aby wyświetlić trend wskaźnika zdawalności dla wszystkich potoków projektu w jednym raporcie. Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z opisem w sekcjach Zmienianie typu danych kolumny i Tworzenie raportu wykresu liniowego.
- Rozwiń
Pipeline
doPipeline.PipelineName
. - Wybierz Fragmentator z okienka Wizualizacje i dodaj pole
Pipeline.PipelineName
do pola Fragmentatora. - Wybierz potok kompilacji z fragmentatora, dla którego chcesz zobaczyć trend szybkości przekazywania.
Zapoznaj się z przykładowym raportem Podsumowanie wyników dla wszystkich potoków, który zawiera szczegółowe kroki, zgodnie z wymaganiami w tym miejscu.
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/PipelineRuns?"
&"$apply=filter( "
&"CompletedDate ge {startdate} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(Pipeline/PipelineName, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,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 Edytorze Power Query
Przed utworzeniem raportu należy rozwinąć kolumny zwracające rekordy zawierające kilka pól. W tym przypadku należy rozwinąć kolumnę CompletedOn
, aby spłaszczyć ją do CompletedOn.Date
.
Aby dowiedzieć się, jak rozwinąć elementy pracy, zobacz więcej w Przekształcanie danych analityki w celu generowania raportów Power BI.
Zmienianie typu danych kolumny
Z menu Przekształć zmień typ danych dla następujących kolumn. Aby dowiedzieć się, jak to zrobić, zobacz Przekształcanie typu danych kolumny.
-
PassRate
,FailRate
iPartiallySuccessfulRate
kolumny na liczbę dziesiętną. -
TotalCount
do liczby całkowitej.
(Opcjonalnie) Zmienianie nazwy pól kolumn
Możesz zmienić nazwy pól kolumn. Możesz na przykład zmienić nazwę kolumny Pipeline.PipelineName
na Pipeline Name
, lub TotalCount
na Total Count
. Aby dowiedzieć się, jak to zrobić, zobacz Zmienianie nazwy pól kolumn.
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 wykresu liniowego
W usłudze Power BI w obszarze Wizualizacje wybierz raport Wykres liniowy.
Dodaj
CompletedOn.Date
do osi X. Kliknij prawym przyciskiem myszy pole i wybierz pozycję CompletedOn.Date.Dodaj
PassRate
do osi Y, a następnie kliknij prawym przyciskiem myszy, aby upewnić się, że wybrano opcję Suma.Aby zmienić tytuł raportu, wybierz ikonę Formatuj wizualizację pędzla do malowania w okienku Wizualizacje , wybierz pozycję Ogólne, rozwiń pozycję Tytuł i zastąp istniejący tekst.
Na poniższej ilustracji przedstawiono wynikowy raport.