Mencantumkan kueri dan laporan sampel item kerja tertaut
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Artikel ini memperlihatkan kepada Anda cara membuat laporan yang mencantumkan item kerja yang ditautkan ke item kerja lainnya. Misalnya, laporan berikut menunjukkan daftar Fitur yang ditautkan ke Cerita Pengguna dengan jenis tautan induk-anak.
Untuk informasi selengkapnya tentang jenis tautan dan menautkan item kerja, lihat Menautkan cerita pengguna, masalah, bug, dan item kerja lainnya.
Kueri sampel lainnya termasuk mencantumkan bug dengan tautan Duplikat ke bug lain, dan mencantumkan bug yang tidak berisi tautan Duplikat ke bug lain.
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
Beberapa kueri disediakan yang menunjukkan cara memfilter item kerja tertaut. Semua kueri ini menentukan kumpulan entitas saat WorkItems
mengembalikan data saat ini.
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
.
Mengembalikan Fitur dan Cerita Pengguna anak mereka
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/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Closed' and State ne 'Removed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Child' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,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
.
Perincian kueri
Tabel berikut ini menjelaskan setiap bagian kueri.
Bagian kueri
Keterangan
$filter=WorkItemType eq 'Feature'
Kembalikan Cerita Pengguna.
and State ne 'Closed' and State ne 'Removed'
Hilangkan Fitur yang Statusnya diatur ke Ditutup atau Dihapus.
and startswith(Area/AreaPath,'{areapath}')
Sertakan hanya Fitur di bawah Jalur Area tertentu yang menggantikan '{areapath}'
.
Untuk memfilter menurut nama tim, gunakan pernyataan Teams/any(x:x/TeamName eq '{teamname})'
filter .
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
Pilih bidang yang akan dikembalikan.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
Tentukan bidang yang akan digunakan untuk memperluas AssignedTo
entitas , Iteration
, dan Area
.
Links(
Links
Perluas entitas.
$filter=LinkTypeName eq 'Child'
Filter item kerja tertaut hanya untuk item dengan tipe tautan Turunan . Contoh lain adalah Induk, Anak, Duplikat, Duplikat, Pengaruh, Terpengaruh Oleh.
and TargetWorkItem/WorkItemType eq 'User Story';
Hanya menyertakan Cerita Pengguna yang ditautkan.
$select=LinkTypeName;
Pilih properti yang LinkTypeName
akan dikembalikan.
$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)
Pilih properti item kerja yang ditautkan untuk dikembalikan.
)
Tutup klausa Links()
.
Kembalikan Cerita Pengguna yang ditautkan dengan jenis tautan Terkait
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/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Related' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Mengembalikan Cerita Pengguna tertaut yang difilter oleh Teams
Kueri berikut sama dengan yang digunakan sebelumnya dalam artikel ini, 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/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and State ne 'Closed' "
&"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Related' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Mengembalikan bug dengan tautan Duplikat ke bug lain
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/WorkItems?"
&"$filter=WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug') "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Duplicate' "
&"and TargetWorkItem/WorkItemType eq 'Bug'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Mengembalikan bug yang tidak memiliki tautan Duplikat ke bug lain
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/WorkItems?"
&"$filter=WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and not (Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug')) "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
,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.
Mengubah data dalam 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.
(Opsional) Ganti nama bidang
Setelah memperluas kolom, Anda mungkin ingin mengganti nama satu atau beberapa bidang. Misalnya, Anda dapat mengganti nama kolom AreaPath
menjadi Area Path
. Anda bisa mengganti namanya dalam tampilan tabel data, atau yang lebih baru saat membuat laporan. Untuk mempelajari caranya, lihat Mengganti nama bidang kolom.
Dalam contoh ini, bidang berikut telah diganti namanya:
Nama bidang asli | Ubah nama |
---|---|
Links.TargetWorkItem.ID | Target ID |
LinksLinkTypeName | Tipe Tautan |
Links.TargetWorkItem.State | Status Target |
Links.TargetWorkItem.Title | Judul Target |
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 laporan tabel untuk mencantumkan item kerja tertaut
Di Power BI, pilih Laporan tabel di bawah Visualisasi.
Tambahkan bidang berikut dalam urutan yang ditunjukkan ke Kolom:
- ID, klik kanan dan pilih Jangan ringkas
- Solid
- Judul
- ID target, klik kanan dan pilih Jangan ringkas
- Tipe Tautan
- Status Target
- Judul Target
Contoh laporan ditampilkan.