Ö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.

Özellik İlerleme durumu yığılmış çubuk grafik raporunun ekran görüntüsü.

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 EntitySetveya 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 EntityTypeiç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} Fabrikamyerine 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:

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.

Kapat ve Uygula seçeneğinin Power Query Düzenleyicisi ekran görüntüsü.

Yığılmış çubuk grafik raporu oluşturma

  1. Power BI'da Görselleştirmeler'in altında Yığılmış çubuk grafik raporu'nu seçin.

    Özellik İlerleme durumu yığılmış çubuk grafik raporu için Power BI Görselleştirmeleri ve Alanlar seçimlerinin ekran görüntüsü.

  2. Y Ekseni'ne ekleyinTitle.

  3. X Ekseni'ne ekleyin, sağ tıklayın ve Toplam'ı seçin.PercentComplete

Örnek rapor görüntülenir.

Örnek Özellik İlerleme durumu yığılmış çubuk grafik raporunun ekran görüntüsü.