Bagikan melalui


Laporan sampel durasi tugas alur

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

Berapa lama waktu yang dibutuhkan untuk menyelesaikan tugas yang berbeda? Artikel ini menyediakan kueri tempat Anda dapat membuat laporan untuk alur tertentu dan tugasnya. Misalnya, gambar berikut mencantumkan persentil ke-50, 80, dan 95 dalam detik untuk semua tugas yang diselesaikan untuk alur tertentu dari 1 September hingga 15 Desember 2022.

Cuplikan layar laporan tren tabel durasi tugas Power BI Pipelines.

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

  • Akses: Menjadi anggota proyek dengan setidaknya akses Dasar .
  • Izin: Secara default, anggota proyek memiliki izin untuk mengkueri Analitik dan membuat tampilan.
  • Untuk informasi selengkapnya 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 membaca Gambaran Umum Laporan Sampel menggunakan Kueri OData dan memiliki pemahaman dasar tentang Power BI.

Contoh kueri

Anda mengkueri entitas yang PipelineRunActivityResults? diatur untuk mengembalikan informasi durasi tugas.

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 informasi selengkapnya tentang jenis data dari setiap nilai, tinjau metadata yang disediakan untuk yang sesuai EntityType.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat 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.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
                &"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
            &"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
                &"/groupby( "
            &"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
        &"&$orderby=TaskDuration50thPercentileInSeconds desc "
    ,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 eksekusi alur untuk alur yang ditentukan.

and PipelineRunCompletedOn/Date ge {startdate}

Mengembalikan hasil tugas untuk alur yang dijalankan 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 klausa filter() .

/compute(

Mulai compute() klausa.

percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,

Untuk setiap tugas, komputasi persentil durasi tugas ke-50 untuk semua tugas yang cocok dengan kriteria filter.

percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,

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

percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)

Untuk setiap tugas, komputasi persentil durasi tugas ke-95 untuk semua tugas yang cocok dengan kriteria filter.

/groupby(

Mulai klausa groupby() .

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

Kelompokkan menurut tugas eksekusi alur dan hitung durasi tugas persentil ke-50 hari bijaksana, durasi tugas persentil ke-80, dan durasi tugas persentil ke-95.

&$orderby=TaskDuration50thPercentileInSeconds desc

Urutkan respons berdasarkan tugas yang memiliki durasi persentil ke-50 tertinggi.

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

Mengubah tipe data kolom

Dari menu Transformasi, ubah tipe data untuk kolom berikut ini menjadi Decimal Number**. Untuk mempelajari caranya, lihat Mengubah tipe data kolom.
- TaskDuration80thPercentileInSeconds - TaskDuration80thPercentileInSeconds - TaskDuration95thPercentileInSeconds.

(Opsional) Mengganti nama bidang kolom

Anda dapat mengganti nama bidang kolom. Misalnya, Anda dapat mengganti nama kolom berikut sehingga lebih ramah tampilan. Untuk mempelajari caranya, lihat Mengganti nama bidang kolom.

Nama bidang asli Bidang berganti nama
TaskDisplayName Nama tugas
TaskDuration50thPercentileInSeconds Persentil ke-50
TaskDuration80thPercentileInSeconds Persentil ke-80
TaskDuration95thPercentileInSeconds Persentil ke-95

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 Tabel

  1. Di Power BI, di bawah Visualisasi, pilih laporan Tabel . Bidang telah diganti namanya seperti yang ditunjukkan di bagian Ganti nama bidang kolom.

    Cuplikan layar pilihan bidang visualisasi untuk laporan tabel durasi tugas.

  2. Tambahkan bidang berikut ke Kolom dalam urutan yang ditentukan.

    • Nama Tugas
    • Persentil ke-50
    • Persentil ke-80
    • Persentil ke-95
  3. 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 sebagian laporan yang dihasilkan.

Cuplikan layar laporan tren tabel durasi tugas sampel Alur Power BI.