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.
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 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, lihat Mengonfigurasi widget burndown atau burnup dan 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
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.
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 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.
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 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.
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 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.
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 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
.
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 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.
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.
Membuat bagan kolom berkluster
Di Power BI, pilih Bagan kolom berkluster di bawah Visualisasi.
Tambahkan
DateValue
ke Sumbu-X, klik kanan dan pilihDateValue
, bukanDate Hierarchy
Tambahkan
Count
ke Sumbu-Y.Tambahkan
TotalStoryPoints
ke Sumbu-Y.
Contoh laporan menampilkan burndown pada jumlah Cerita dan jumlah atau Titik Cerita.