Bagikan melalui


Merilis kueri dan laporan sampel burndown

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

Laporan Burndown dan burnup menunjukkan berapa banyak pekerjaan yang diselesaikan dari waktu ke waktu. Gambar berikut menunjukkan burndown baik berdasarkan jumlah Cerita Pengguna dan jumlah Titik Cerita.

Cuplikan layar laporan bagan kolom berkluster burndown Rilis Power BI.

Bagan Burndown hanya masuk akal jika Anda merencanakan pekerjaan Anda untuk periode waktu bagan. Jika tidak, jika Anda berencana berdasarkan sprint-by-sprint, Anda tidak akan melihat burndown standar. Dalam contoh ini, bagan burnup lebih masuk akal untuk melihat bagaimana kemajuan dibuat dari waktu ke waktu.

Penting

Menghapus Jalur Area atau mengonfigurasi ulang Jalur Iterasi dapat menyebabkan hilangnya data dan tidak dapat dikembalikan. Misalnya, bagan widget burndown atau burnup, sprint burndown, dan bagan kecepatan untuk tim yang Jalur Areanya diubah tidak akan mencerminkan data yang benar. Bagan tren historis mereferensikan Jalur Area dan Jalur Perulangan seperti yang didefinisikan pada titik sebelumnya untuk setiap item kerja. Saat Jalur Area atau Jalur Perulangan dihapus, maka data historis untuk jalur tersebut tidak dapat diambil.

Untuk informasi selengkapnya tentang burndown dan burnup, lihat Mengonfigurasi widget burndown atau burnup dan panduan Burndown dan burnup.

Catatan

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

Prasyarat

  • Tingkat akses: Anda harus menjadi anggota proyek dengan akses Dasar atau yang lebih tinggi.
  • 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

Kueri di bagian ini memperlihatkan cara menghasilkan bagan burndown item kerja berdasarkan data historis. Semua kueri ini menentukan WorkItemSnapshot kumpulan entitas.

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.

Burndown Cerita Pengguna di jalur area dari tanggal mulai dan berakhir

Kueri berikut menunjukkan kepada Anda cara mengembalikan data historis Cerita Pengguna untuk rilis berdasarkan item kerja yang ditandai dengan tag rilis.

Catatan

Untuk laporan berdasarkan pemfilteran tag, tag harus ditetapkan ke item kerja pada awal tanggal mulai rilis atau burndown/burnup. Jika tidak, item kerja tidak disertakan dalam data yang dikembalikan.

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/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath), "
            &"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}.

  • {organization} - Nama organisasi Anda
  • {project} - Nama proyek tim Anda, atau hilangkan "/{project}" sepenuhnya, untuk kueri lintas proyek
  • {areapath} - Jalur Area Anda. Contoh format: Project\Level1\Level2
  • {tag} - Tag yang mewakili rilis Anda. Semua item kerja yang ditandai disertakan {tagname} dalam laporan
  • {startdate} - Tanggal untuk memulai laporan burndown dengan format: YYYY-MM-DDZ. Misalnya: 2022-04-01Z mewakili 2022-April-01. Jangan sertakan dalam tanda kutip.
  • {enddate} - Tanggal untuk mengakhiri laporan burndown.

Perincian kueri

Tabel berikut ini menjelaskan setiap bagian kueri.

Bagian kueri

Keterangan

$apply=filter(WorkItemType eq 'User Story'

Sertakan Cerita Pengguna di burndown.

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 startswith(Area/AreaPath,'{areapath}')

Sertakan hanya Cerita Pengguna di bawah Jalur Area tertentu yang menggantikan '{areapath}'.
Untuk memfilter menurut nama tim, gunakan pernyataan Teams/any(x:x/TeamName eq '{teamname})'filter .

and Tags/any(x:x/TagName eq '{tagname}').

Menentukan label tag yang mewakili rilis untuk dibakar, dan untuk menyertakan semua item kerja yang ditandai dengan {tagname} dalam laporan.

and DateValue ge {startdate}

Mulai burndown pada atau setelah tanggal yang ditentukan. Contoh: 2019-04-01Z mewakili 2019-April-01.

and DateValue le {enddate}

Mulai burndown pada atau sebelum tanggal yang ditentukan. Format yang sama dengan {startdate}.

)

Tutup filter() klausa.

/groupby (

Mulai groupby() klausa.

(DateValue, State, Area/AreaPath),

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

Burndown Cerita Pengguna untuk tim

Kueri berikut mengembalikan data burndown yang difilter menurut nama tim daripada Jalur Area.

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

Cerita Pengguna Burndown dengan rekam jepret setiap hari Jumat

Menggunakan rekam jepret mingguan mengurangi jumlah data yang ditarik ke Power BI dan meningkatkan performa kueri.

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/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &"and Date/DayName eq 'Friday' "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cerita Pengguna Burndown berdasarkan area dan jalur iterasi

Beberapa organisasi menggunakan Jalur Perulangan untuk menandai Cerita untuk rilis. Misalnya, mereka mungkin memiliki Jalur Iterasi MyProject\Release1. Kueri berikut ini memperlihatkan cara memilih Cerita Pengguna menurut Jalur Perulangan.

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

Cerita Pengguna Burndown dengan nilai bidang kustom

Beberapa organisasi menggunakan bidang kustom untuk menandai Cerita Pengguna untuk rilis. Misalnya, mereka mungkin memiliki bidang yang disebut Milestone. Kueri ini memperlihatkan kepada Anda cara memilih Cerita Pengguna menurut bidang kustom.

Anda harus mengganti dan {customfieldname} {releasevalue} dalam kueri. Untuk menentukan nama bidang kustom Anda, lihat Referensi metadata untuk Azure Boards, Properti kustom. Anda akan mengganti {customfieldname} dengan nama properti kustom, misalnya Custom_Milestone.

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/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and {customfieldname} eq '{releasevalue}' "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &") "
        &"/groupby ( "
            &"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,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:

  • Links
  • Links.TargetWorkItem
  • 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 bagan kolom berkluster

  1. Di Power BI, pilih Bagan kolom berkluster di bawah Visualisasi.

    Cuplikan layar pilihan Visualisasi dan Bidang Power BI untuk Laporan bagan kolom kluster burndown Rilis.

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

  3. Tambahkan Count ke Sumbu-Y.

  4. Tambahkan TotalStoryPoints ke Sumbu-Y.

Contoh laporan menampilkan burndown pada jumlah Cerita dan jumlah atau Titik Cerita.

Cuplikan layar laporan bagan kolom kluster burndown Rilis Sampel Power BI.