Bagikan melalui


Laporan sampel tren durasi tugas alur

Layanan Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Untuk memvisualisasikan waktu yang diperlukan tugas untuk diselesaikan untuk alur tertentu, Anda dapat membuat laporan tren. Misalnya, gambar berikut menunjukkan persentil ke-80 dalam detik untuk semua tugas yang diselesaikan untuk alur tertentu dari 1 September hingga 15 Desember 2022.

Cuplikan layar laporan tren durasi tugas Alur Power BI.

Penting

Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik umumnya tersedia untuk Azure DevOps Services dan Azure DevOps Server 2020 dan versi yang lebih baru. Kueri sampel yang disediakan dalam artikel ini hanya valid terhadap Azure DevOps Server 2020 dan versi yang lebih baru, dan bergantung pada pratinjau v3.0 atau versi yang lebih baru. Kami mendorong Anda untuk menggunakan kueri ini dan memberi kami umpan balik.

Prasyarat

  • Untuk melihat data Analitik dan mengkueri layanan, Anda harus menjadi anggota proyek dengan akses Dasar atau yang lebih besar. Secara default, semua anggota proyek diberikan izin untuk mengkueri Analitik dan menentukan tampilan Analitik.
  • Untuk mempelajari tentang prasyarat lain mengenai pengaktifan layanan dan fitur serta aktivitas pelacakan data umum, lihat Izin dan prasyarat untuk mengakses Analitik.

Catatan

Artikel ini mengasumsikan Anda telah membaca Gambaran Umum Laporan Sampel menggunakan Kueri OData dan memiliki pemahaman dasar tentang Power BI.

Contoh kueri

Anda dapat menggunakan kueri berikut dari PipelineRunActivityResults? kumpulan entitas untuk membuat laporan tren durasi tugas yang berbeda tetapi serupa.

Catatan

Untuk menentukan properti yang tersedia untuk tujuan filter atau laporan, lihat Referensi metadata untuk Azure Pipelines. Anda dapat memfilter kueri atau mengembalikan properti menggunakan salah satu nilai di Property bawah nilai atau NavigationPropertyBinding Path yang EntityType tersedia dengan EntitySet. Masing-masing EntitySet sesuai dengan EntityType. Untuk mempelajari selengkapnya tentang jenis data dari setiap nilai, tinjau metadata yang disediakan untuk yang sesuai EntityType.

Tren durasi tugas untuk nama alur tertentu

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau Gambaran Umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &"    ) "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

String substitusi dan perincian kueri

Ganti string berikut dengan nilai Anda. Jangan sertakan {} tanda kurung dengan pengganti Anda. Misalnya jika nama organisasi Anda adalah "Fabrikam", ganti {organization} dengan Fabrikam, bukan {Fabrikam}.

  • {organization} - Nama organisasi Anda
  • {project} - Nama proyek tim Anda
  • {pipelinename} - Nama alur Anda. Contoh: Fabrikam hourly build pipeline
  • {startdate} - Tanggal untuk memulai laporan Anda. Format: YYYY-MM-DDZ. Contoh: 2021-09-01Z mewakili 1 September 2021. Jangan sertakan dalam tanda kutip atau tanda kurung siku dan gunakan dua digit untuk, bulan dan tanggal.

Perincian kueri

Tabel berikut ini menjelaskan setiap bagian kueri.

Bagian kueri

Keterangan


$apply=filter(

Mulai filter() klausa.

Pipeline/PipelineName eq '{pipelinename}'

Mengembalikan hasil tugas untuk alur tertentu.

and TaskDisplayName eq '{taskname}'

Mengembalikan hasil tugas untuk tugas tertentu.

and PipelineRunCompletedOn/Date ge {startdate}

Mengembalikan hasil tugas untuk alur berjalan pada atau setelah tanggal yang ditentukan.

and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')

Mengembalikan hasil tugas hanya untuk eksekusi alur yang berhasil atau sebagian berhasil.

and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)

Hilangkan eksekusi alur yang dibatalkan, dilewati, atau ditinggalkan.

)

Tutup filter() klausa.

/compute(

Mulai compute() klausa.

percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds)

Untuk setiap hari, komputasi persentil ke-80 durasi tugas dari semua tugas yang cocok dengan kriteria filter.

/groupby(

Mulai groupby() klausa.

(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date))

Kelompokkan menurut tanggal penyelesaian eksekusi alur dan menghitung durasi tugas persentil ke-80 yang bijaksana.

&$orderby=PipelineRunCompletedOn/Date asc

Pesan respons berdasarkan tanggal selesai.

Tren durasi tugas untuk alur, tentukan ID alur

Alur dapat diganti namanya. Untuk memastikan bahwa laporan Power BI tidak rusak saat nama alur diubah, gunakan ID alur daripada nama alur. Anda dapat memperoleh ID alur dari URL halaman eksekusi alur.

https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau Gambaran Umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineId eq {pipelineid} "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &") "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tren durasi tugas persentil ke-50, 80, dan 90 untuk alur

Untuk melihat tren durasi tugas yang dihitung menggunakan nilai persentil lain, gunakan kueri berikut yang memberikan durasi tugas persentil ke-50 dan ke-95 bersama dengan persentil ke-80.

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau Gambaran Umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &") "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.5, PipelineRunCompletedDateSK) as TaskDuration50thPercentileInSeconds, "
            &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds, "
                &"percentile_cont(ActivityDurationSeconds, 0.95, PipelineRunCompletedDateSK) as TaskDuration95thPercentileInSeconds) "
            &"/groupby( "
        &"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds, TaskDuration95thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
    &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tren durasi tugas untuk alur yang difilter menurut cabang

Untuk menampilkan tren durasi tugas untuk cabang tertentu, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah-langkah berikut:

  • Perluas Branch ke Branch.BranchName
  • Mengubah tipe data kolom
  • Membuat laporan Bagan garis
  • Pilih Pemotong dari panel Visualisasi dan tambahkan Branch.BranchName ke Bidang pemotong
  • Pilih cabang dari pemotong yang Anda butuhkan untuk melihat tren durasi tugas.

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau Gambaran Umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &" Pipeline/PipelineName eq '{pipelinename}' "
                &" and TaskDisplayName eq '{taskname}' "
                &" and PipelineRunCompletedOn/Date ge {startdate} "
        &" and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &" and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &" ) "
                &"/compute( "
                &" percentile_cont(ActivityDurationSeconds, 0.8, BranchSK, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &" (TaskDuration80thPercentileInSeconds, Branch/BranchName, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tren durasi tugas untuk semua tugas alur

Untuk menampilkan tren durasi tugas untuk semua tugas alur dalam satu laporan, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah-langkah berikut:

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau Gambaran Umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
        &") "
            &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
                &"/groupby( "
            &"(TaskDuration80thPercentileInSeconds, TaskDisplayName, PipelineRunCompletedOn/Date)) "
                &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Opsional) Mengganti nama kueri

Anda bisa mengganti nama label kueri default, Query1, menjadi sesuatu yang lebih bermakna. Cukup masukkan nama baru dari panel Pengaturan Kueri.

Cuplikan layar opsi menu kueri Power BI, ganti nama kueri.

Perluas kolom di Editor Power Query

Sebelum membuat laporan, Anda harus memperluas kolom yang mengembalikan rekaman yang berisi beberapa bidang. Dalam hal ini, Anda akan ingin memperluas PipelineRunCompletedOn kolom untuk meratakannya ke PipelineRunCompletedOn.Date.
Untuk mempelajari cara memperluas item kerja, lihat Mengubah data Analitik untuk menghasilkan laporan Power BI.

Mengubah tipe data kolom

Dari menu Transformasi, ubah jenis data untuk kolom menjadi TaskDuration80thPercentileInSecondsNomor Desimal. Untuk mempelajari caranya, lihat Mengubah jenis data kolom.

(Opsional) Mengganti nama bidang kolom

Anda dapat mengganti nama bidang kolom. Misalnya, Anda dapat mengganti nama kolom TaskDuration80thPercentileInSeconds menjadi 80th Percentile. Untuk mempelajari caranya, lihat Mengganti nama bidang kolom.

Tutup kueri dan terapkan perubahan Anda

Setelah Anda menyelesaikan semua transformasi data, pilih Tutup & Terapkan dari menu Beranda untuk menyimpan kueri dan kembali ke tab Laporan di Power BI.

Cuplikan layar opsi Editor Power Query Tutup dan Terapkan.

Membuat laporan Bagan garis

  1. Di Power BI, di bawah Visualisasi, pilih laporan Bagan garis.

    Cuplikan layar pilihan bidang visualisasi untuk laporan bagan garis tren durasi tugas.

  2. Tambahkan PipelineRunCompletedOn.Date ke Sumbu-X. Klik kanan bidang dan pilih PipelineRunCompletedOn.Date sebagai pengganti Hierarki Tanggal.

  3. Tambahkan TaskDuration80thPercentileInSeconds ke Sumbu-Y, dan klik kanan untuk memastikan Jumlah dipilih.

  4. Untuk mengubah judul laporan, pilih ikon Format kuas cat visual Anda dari panel Visualisasi , pilih Umum, perluas Judul, dan ganti teks yang ada.

Gambar berikut menunjukkan laporan yang dihasilkan.

Cuplikan layar laporan tren durasi tugas sampel Alur Power BI.