Bagikan melalui


Laporan sampel burndown sprint

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Bagan burndown sprint berguna untuk memantau seberapa baik tim menjalankan rencana sprint mereka. Beberapa bagan bawaan dan widget dasbor mendukung pemantauan sprint burndown. Lihat Mengonfigurasi dan memantau burndown sprint.

Namun, Anda dapat menyesuaikan bagan burndown sprint menggunakan Analytics dan Power BI dengan kueri yang disediakan dalam artikel ini. Contoh berikut menunjukkan burndown Cerita Pengguna dan Status mereka.

Cuplikan layar laporan bagan kolom berkluster Burndown Power BI Sprint.

Penting

  • Menghapus Jalur Area atau mengonfigurasi ulang Jalur Iterasi menyebabkan kehilangan data yang tidak dapat diubah. Misalnya, bagan widget burndown dan burnup, sprint burndown, dan bagan kecepatan untuk tim dengan Jalur Area yang diubah tidak akan menampilkan data yang akurat. Bagan tren historis mereferensikan Jalur Area dan Jalur Perulangan seperti yang ditentukan pada saat untuk setiap item kerja. Setelah dihapus, Anda tidak dapat mengambil data historis untuk jalur ini.
  • Anda hanya dapat menghapus jalur area dan iterasi yang tidak lagi digunakan oleh item kerja apa pun.

Untuk informasi selengkapnya tentang burndown dan burnup, serta panduan Burndown dan burnup.

Catatan

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

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.

Contoh kueri

Bagan Burndown memerlukan kueri WorkItemSnapshot yang ditetapkan entitas untuk mendapatkan data historis.

Catatan

Untuk menentukan properti yang tersedia untuk tujuan filter atau laporan, lihat Referensi metadata untuk Azure Boards. 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.

Cerita Pengguna Burndown untuk jalur area dan iterasi saat ini

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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,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}.

  • {areapath} - Jalur Area Anda. Contoh format: Project\Level1\Level2.

Perincian kueri

Tabel berikut ini menjelaskan setiap bagian kueri.

Bagian kueri

Keterangan


$apply=filter(

Mulai filter()

WorkItemType eq 'User Story'

Burndown di Cerita Pengguna

and startswith(Area/AreaPath,'{areapath}')

Item kerja di bawah Jalur Area tertentu. Mengganti dengan Area/AreaPath eq '{areapath}' mengembalikan item di Jalur Area tertentu.

Untuk memfilter menurut Nama Tim, gunakan pernyataan filter Teams/any(x:x/TeamName eq '{teamname})'

and StateCategory ne 'Completed'

Memfilter item yang selesai. Untuk informasi selengkapnya tentang Kategori Status, lihat Bagaimana status alur kerja dan kategori status digunakan dalam Backlog dan Papan.

and DateValue ge Iteration/StartDate

Mulai tren di Perulangan dimulai.

and DateValue le Iteration/EndDate

Akhiri tren di akhir Perulangan.

and Iteration/StartDate le now()

Pilih Perulangan saat ini.

and Iteration/EndDate ge now()

Pilih Perulangan saat ini

)

Tutup filter()

/groupby(

Mulai groupby()

(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),

Kelompokkan menurut DateValue (digunakan untuk tren), dan bidang apa pun yang ingin Anda laporkan

aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)

Agregat menurut jumlah cerita pengguna, dan jumlah Titik Cerita

)

Tutup groupby()

Cerita Pengguna Burndown untuk tim dan iterasi saat ini

Kueri ini sama dengan yang digunakan di atas, kecuali difilter menurut Nama Tim daripada Jalur Area.

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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cerita Pengguna Burndown untuk semua sprint sejak awal tahun

Anda mungkin ingin melihat burndown semua sprint dalam satu laporan. Kueri ini menarik burndown sprint, dan berdasarkan titik cerita, untuk semua sprint sejak awal tahun 2022.

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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate ge 2022-01-01Z "
        &") "
        &"/groupby( "
            &"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tugas Burndown dan Sisa Pekerjaan

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.

Doc-ready Power BI Query (anonomized)
let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"startswith(Area/AreaPath,'{project}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
            &"and WorkItemType eq 'Task' "
        &") "
            &"/groupby( "
            &"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
        &") "
    ,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 mungkin ingin memperluas rekaman berikut:

  • Area
  • Iteration
  • AssignedTo

Untuk mempelajari cara memperluas item kerja, lihat Mengubah data Analitik untuk menghasilkan laporan Power BI.

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 kolom bertumpuk

  1. Di Power BI, pilih laporan bagan kolom bertumpuk di bawah Visualisasi.

    Cuplikan layar pilihan Visualisasi dan Bidang Power BI untuk laporan Sprint Burndown.

  2. Tambahkan DateValue ke Sumbu-X, klik kanan dan pilih DateValue, bukan Date Hierarchy

  3. Tambahkan Count ke Sumbu-Y.

  4. Tambahkan State ke Sumbu-Y.

Contoh laporan, yang menampilkan burndown pada Titik Cerita dan Jumlah Cerita.

Cuplikan layar sampel laporan bagan kolom berkluster Burndown Power BI Sprint.