Özellik ilerleme toplaması örnek raporu
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Bu makalede, tamamlanmış alt Kullanıcı Hikayelerini temel alan Özelliklerin ilerleme durumunu görüntülemek için yığılmış çubuk raporu oluşturma işlemi gösterilmektedir. Rapor, belirli bir etkin Özellik kümesi için hikaye noktalarının toplaması ile tamamlanma yüzdesini görüntüler. Aşağıdaki görüntüde bir örnek gösterilmiştir.
Toplama sütunu ekleyerek kapsamınızdan benzer ilerleme çubuğu grafiklerini görüntüleyebilirsiniz. Nasıl yapılacağını öğrenmek için bkz . Toplama ilerleme durumunu veya toplamlarını görüntüleme.
Not
Bu makalede, OData Sorguları kullanarak Örnek Raporlara Genel Bakış makalesini okuduğunuz ve Power BI hakkında temel bilgilere sahip olduğunuz varsayılır.
Önkoşullar
- Erişim: En az Temel erişimi olan bir projenin üyesi olun.
- İzinler: Varsayılan olarak, proje üyeleri Analytics'i sorgulama ve görünüm oluşturma iznine sahiptir.
- Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında daha fazla bilgi için bkz . Analytics'e erişim izinleri ve önkoşulları.
Örnek sorgular
Özellik ilerleme durumu, mevcut ilerleme durumunu almak için varlığı sorgular WorkItems
.
Not
Filtre veya rapor amacıyla kullanılabilir özellikleri belirlemek için bkz . Azure Boards için meta veri başvurusu. sorgularınızı filtreleyebilir veya ile kullanılabilen EntitySet
veya NavigationPropertyBinding Path
değerlerinin Property
altındaki EntityType
değerlerden herhangi birini kullanarak özellikleri döndürebilirsiniz. Her EntitySet
bir EntityType
öğesine karşılık gelir. Her değerin veri türü hakkında daha fazla bilgi için ilgili EntityType
için sağlanan meta verileri gözden geçirin.
Alan yoluna göre özellik ilerleme durumunu gözden geçirme
Aşağıdaki Power BI sorgusunu kopyalayıp doğrudan Veri>Al Boş Sorgu penceresine yapıştırın. Daha fazla bilgi için bkz . OData sorgularını kullanan örnek raporlara genel bakış.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Removed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Descendants/any()"
&"&$select=WorkItemId,Title,Area,Iteration,AssignedTo,WorkItemType,State,AreaSK"
&"&$expand=Descendants( "
&"$apply=filter(WorkItemType eq 'User Story') "
&"/groupby((StateCategory), "
&"aggregate(StoryPoints with sum as TotalStoryPoints)) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Değiştirme dizeleri ve sorgu dökümü
Aşağıdaki dizeleri değerlerinizle kullanın. Değiştirmenize köşeli ayraç {} eklemeyin. Örneğin, kuruluşunuzun adı "Fabrikam" ise yerine {organization}
Fabrikam
yerine değerini {Fabrikam}
yazın.
{organization}
- Kuruluşunuzun adı{project}
- Çapraz proje sorgusu için ekip projenizin adı veya tamamen atlanmış/{project}
{areapath}
- Alan Yolunuz. Örnek biçim:Project/Level1/Level2
.
Sorgu dökümü
Aşağıdaki tabloda sorgunun her bölümü açıklanmaktadır.
Sorgu bölümü
Açıklama
$filter=WorkItemType eq 'Feature'
Dönüş Özellikleri.
and State ne 'Cut'
Kes olarak işaretlenmiş Özellikleri Atla.
and startswith(Area/AreaPath,'{areapath}')
Belirli bir Alan Yolu altındaki iş öğelerini döndürür. ile Area/AreaPath eq '{areapath}'
değiştir, belirli bir Alan Yolundaki öğeleri döndürür.
Takım Adına göre filtrelemek için filter deyimini Teams/any(x:x/TeamName eq '{teamname})'
kullanın.
and Descendants/any()
En az bir veya "herhangi" alt öğeye sahip iş öğelerini filtreleyin. En az bir Alt iş öğesi içeren tüm Özellikleri içerir. Alt öğeleri olmasa bile tüm iş öğelerini alt öğeleriyle birlikte almak için filtre olmadan Descendants/any()
bir sorgu çalıştırın. Alt Kullanıcı Hikayeleri olmayan Özellikleri atlamak için değerini ile any(d:d/WorkItemType eq 'User Story')
değiştirin.
Alt öğeleri olan ve olmayan tüm iş öğeleri için:
$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
En az bir alt öğeye sahip tüm iş öğeleri için:
$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
&$select=WorkItemId, Title, WorkItemType, State
Döndürülecek özellikleri seçin.
&$expand=Descendants(
Expand Descendants
yan tümcesinin başlangıcı
$apply=filter(WorkItemType eq 'User Story')
Alt öğeleri filtreleyin. Yalnızca Kullanıcı Hikayelerini dahil edin (Görevleri ve Hataları atla).
/groupby((StateCategory),
Toplamayı StateCategory'ye göre gruplandırın. Durum Kategorileri hakkında daha fazla bilgi için bkz . İş akışı durumları ve durum kategorileri Kapsamlar ve Panolar'da nasıl kullanılır?
aggregate(StoryPoints with sum as TotalStoryPoints))
Hikaye Noktalarının toplam toplamı.
)
Close Descendants()
yan tümcesi.
Ekip için özellik ilerleme durumunu gözden geçirme
Aşağıdaki sorgu yukarıda kullanılan sorguyla aynıdır, ancak Alan Yolu yerine Takım Adı'na göre filtrelenir.
Aşağıdaki Power BI sorgusunu kopyalayıp doğrudan Veri>Al Boş Sorgu penceresine yapıştırın. Daha fazla bilgi için bkz . OData sorgularını kullanan örnek raporlara genel bakış.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Cut' "
&"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 Descendants/any() "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=Descendants( "
&"$apply=filter(WorkItemType eq 'User Story') "
&"/groupby((StateCategory), "
&"aggregate(StoryPoints with sum as TotalStoryPoints)) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Power Query Düzenleyicisi'da verileri dönüştürme
Sorgu, rapor oluşturmak için kullanabilmeniz için önce genişletmeniz gereken birkaç sütun döndürür. OData $expand deyimi kullanılarak çekilen herhangi bir varlık, potansiyel olarak birkaç alanı olan bir kayıt döndürür. Varlığı alanlarında düzleştirmek için kaydı genişletin.
Özellik İlerleme durumu raporu için aşağıdaki dönüşümleri gerçekleştirmeniz gerekir:
Descendants
Sütunu iki sütuna genişletin:Descendants.StateCategory
veDescendants.TotalStoryPoints
- Tek tek Durum kategorilerini ayırmak için sütuna
Descendants.StateCategory
Özet Sütun dönüştürmesi uygulama - Tüm özetlenmiş sütunlardaki null değerleri değiştirin.
- Tamamlanma yüzdesini göstermek için özel bir sütun ekleyin. Özetlenmiş Durum sütunlarında boş sütun varsa özel sütunda hatalar görüntülenir.
Nasıl yapılacağını öğrenmek için Power BI raporları oluşturmak için Analiz verilerini dönüştürme bölümünde aşağıdaki bölümlere bakın:
- Descendants sütununu genişletin.
- Pivot Descendants.StateCategory sütunu.
- Null değerleri değiştirin.
- Tamamlanma yüzdesi hesaplanan sütun oluşturma
Not
Bu örnekte, Kullanıcı Hikayesi için Durum değerleri Önerilen, Devam Ediyor ve Tamamlandı değerlerini içerir.
Sorguyu kapatma ve değişikliklerinizi uygulama
Tüm veri dönüşümlerinizi tamamladıktan sonra, sorguyu kaydetmek ve Power BI'daki Rapor sekmesine dönmek için Giriş menüsünden Kapat ve Uygula'yı seçin.
Yığılmış çubuk grafik raporu oluşturma
Power BI'da Görselleştirmeler'in altında Yığılmış çubuk grafik raporu'nu seçin.
Y Ekseni'ne ekleyin
Title
.X Ekseni'ne ekleyin, sağ tıklayın ve Toplam'ı seçin.
PercentComplete
Örnek rapor görüntülenir.