Udostępnij za pośrednictwem


Przykładowy raport trendu szybkości przekazywania 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. Szybkość przekazywania potoku jest definiowana jako procent pomyślnych przebiegów potoku do łącznego uruchomienia potoku. Jest on podobny do wykresu "Trend szybkości przekazywania" w raporcie Szybkość przekazywania potoku. Na poniższej ilustracji przedstawiono przykład takiego trendu.

Zrzut ekranu przedstawiający raport trendu liczby przebiegów przebiegów potoków usługi Power BI.

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.

Wymagania wstępne

  • Aby wyświetlić dane analizy i wykonać zapytanie dotyczące usługi, musisz być członkiem projektu z dostępem podstawowym lub większym. Domyślnie wszyscy członkowie projektu otrzymują uprawnienia do wykonywania zapytań w usłudze Analytics i definiowania widoków analizy.
  • Aby dowiedzieć się więcej o innych wymaganiach 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 założono, że znasz artykuł 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 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 dowiedzieć się więcej o typie danych każdej wartości, przejrzyj metadane podane dla odpowiedniego EntityTypeelementu .

Trend szybkości przekazywania dla nazwanego potoku

Następujące zapytania zwracają uruchomienia potoku dla określonego potoku z określonej daty rozpoczęcia.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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 Fabrikamciąg {organization} , 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 cudzysłowów ani nawiasów kwadratowych i używaj dwóch cyfr zarówno dla miesiąca, jak i daty.

Podział zapytań

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

Część kwerendy

Opis


$apply=filter(

Klauzula Start 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(

Klauzula Start groupby() .

(CompletedOn/Date),

Grupuj według daty ukończenia przebiegu potoku.

aggregate

Klauzula Start aggregate dla wszystkich przebiegów potoku pasujących do kryteriów filtrowania.

($count as TotalCount,

Zlicz łączną liczbę przebiegów 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

Zamów wynik w kolejności rosnącej na podstawie daty uruchomienia potoku.

Trend szybkości przekazywania dla identyfikatora potoku

Nazwy potoków można zmienić. Aby upewnić się, że raporty usługi Power BI nie przerywają zmiany nazwy potoku, użyj identyfikatora potoku, a nie nazwy potoku. 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 określonego identyfikatora potoku z określonej daty rozpoczęcia.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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 wyświetlić trend szybkości przekazywania potoku 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 węzeł w pliku Branch.BranchName.
  • Wybierz pozycję Fragmentator wizualizacji usługi Power BI i dodaj Branch.BranchName go do pola fragmentatora.
  • Wybierz gałąź z fragmentatora, dla którego chcesz zobaczyć trend szybkości przekazywania.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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 szybkości przekazywania dla wszystkich potoków projektu

Użyj następujących zapytań, aby wyświetlić trend szybkości przekazywania 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 węzeł w pliku Pipeline.PipelineName.
  • Wybierz pozycję Fragmentator w okienku Wizualizacje i dodaj pole do pola Pipeline.PipelineNamefragmentatora.
  • Wybierz potok kompilacji z fragmentatora, dla którego chcesz zobaczyć trend szybkości przekazywania.

Zapoznaj się z podsumowaniem wyniku dla wszystkich przykładowych raportów potoków , który zawiera szczegółowe kroki, zgodnie z wymaganiami w tym miejscu.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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 Zapytanie Ustawienia.

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ąć kolumnę CompletedOn , aby spłaszczać ją na CompletedOn.Date.
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).

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.

  • PassRateFailRate, i PartiallySuccessfulRate kolumny na Liczba dziesiętna.
  • TotalCountw celu KtoTo le liczba.

(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.

Zrzut ekranu przedstawiający opcję zamknij i zastosuj Edytor Power Query.

Tworzenie raportu wykresu liniowego

  1. W usłudze Power BI w obszarze Wizualizacje wybierz raport Wykres liniowy.

    Zrzut ekranu przedstawiający wybrane pola wizualizacji dla raportu wykresu liniowego trendu o szybkości przekazywania.

  2. Dodaj CompletedOn.Date do osi X. Kliknij prawym przyciskiem myszy pole i wybierz pozycję CompletedOn.Date.

  3. Dodaj PassRate do osi Y i kliknij ją prawym przyciskiem myszy, aby upewnić się, że wybrano pozycję Suma .

  4. 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.

    Zrzut ekranu przedstawiający przykładowy raport potoków potoków przebiegów trendu z przekazywaniem.