Alt iş öğesi değerlerini üst örnek rapora toplama
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Toplama, iş öğelerinin sayısını veya İçerik Noktaları, Kalan Çalışma veya diğer özel alt öğe alanlarının toplamını gösterme desteği sağlar. Bu makalede, alt iş öğeleri içeren Epic'ler, Özellikler veya Kullanıcı Hikayeleri için tablosal toplama raporu oluşturma hakkında çeşitli örnekler sağlanmaktadır. Aşağıdaki görüntüde, üst Özellikleri için toplanmış Hikaye Noktaları örneği gösterilmektedir.
Toplama ve toplamayı gösterme seçenekleri hakkında daha fazla bilgi için bkz . Azure Boards'ta toplama ilerlemesini 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
Aşağıdaki sorgular, toplama matrisi raporlarının oluşturulmasını WorkItems
desteklemek için varlık kümesinden veri döndürür.
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 Yolunu Temel Alan Temelinde Alt Kullanıcı Hikayelerinin Özelliklerine Yönelik Hikaye İşaretlerini Toplama
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 startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any()"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate($count as CountOfUserStories, 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 "/{project}" ifadesini tamamen atla{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'
Kapalı hataları atla.
and startswith(Area/AreaPath,'{areapath}')
Belirli bir Alan Yolu altında iş öğelerini döndür, değiştirerek Area/AreaPath eq '{areapath}'
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()
Kullanıcı Hikayeleri olmayan özellikler dahil tüm Özellikleri dahil edin. Alt Kullanıcı Hikayeleri olmayan Özellikleri atlamak için değerini "any(d:d/WorkItemType eq 'User Story')" ile değiştirin.
&$select=WorkItemId, Title, WorkItemType, State
Döndürülecek alanları seçin.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
, , Iteration
Area
genişletilebilir özellik alanlarını AssignedTo
seçin.
Descendants(
Yan tümcesini Descendants
genişletin.
$apply=filter(WorkItemType eq 'User Story')
Alt öğeleri yalnızca Kullanıcı Öykülerini içerecek şekilde filtreleyin (görevleri ve hataları atlar).
/aggregate($count as CountOfUserStories, StoryPoints with sum as TotalStoryPoints)
Filtre yan tümcesi ile eşleşen tüm alt öğeler için bunları sayın ve özelliğinin toplamını sağlayın StoryPoints
.
)
Descendants()
öğesini kapatın.
Teams'i Temel Alan Alt Kullanıcı Hikayelerinin Özelliklerine Yönelik Hikaye İşaretlerini Toplama
Aşağıdaki sorgularda, Alan Yolu yerine ekip adına göre filtreleyen toplama raporlarının nasıl oluşturulacağı gösterilmektedir.
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=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate($count as CountOfUserStories, StoryPoints with sum as TotalStoryPoints)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Epic'lere Hikaye İşaretleri Toplama
Aşağıdaki sorguları kullanarak hikaye işaretlerini Epic'lere paketleyebilirsiniz.
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 'Epic'"
&" and State ne 'Cut'"
&" and startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any(d:d/WorkItemType eq 'User Story')"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate(StoryPoints with sum as TotalStoryPoints)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Kalan Çalışma ve Tamamlanan Çalışmayı Kullanıcı Öykülerine Toplama Görevleri
Aşağıdaki sorgu, hiyerarşideki Kullanıcı Hikayeleri'ne alt Görevlere atanan Kalan Çalışma ve Tamamlanan Çalışma'nın nasıl tolere edileceğini gösterir. Bu sorgular, Görevlerin belirtilen Alan Yolunda bir Kullanıcı Hikayesi'nin alt öğeleri olarak atandığını varsayar.
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 'User Story'"
&" and State ne 'Removed'"
&" and startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any()"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'Task')"
&"/aggregate(RemainingWork with sum as TotalRemainingWork, CompletedWork with sum as TotalCompletedWork)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Özellikler için Toplama Hatası sayısı
Aşağıdaki sorgular, Özelliklere atanan Hataların sayısını toplama işlemini gösterir. Bu sorgular Hataların belirtilen Alan Yolundaki bir Özelliğin alt öğeleri olarak tanımlandığını varsayar.
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,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'Bug')"
&"/aggregate($count as CountOfBugs)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(İsteğe bağlı) Sorguyu yeniden adlandırma
Varsayılan sorgu etiketi olan Query1'i daha anlamlı bir şekilde yeniden adlandırabilirsiniz. Sorgu Ayarları bölmesinden yeni bir ad girmeniz yeterlidir.
Power BI'da sütunları genişletme
yan tümcesi &$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath)
, birkaç alan içeren kayıtları döndürür. Raporu oluşturmadan önce, kaydı belirli alanlara düzleştirmeniz için genişletmeniz gerekir. Bu örnekte, aşağıdaki kayıtları genişletmek isteyeceksiniz:
AssignedTo
AreaPath
IterationPath
Nasıl yapılacağını öğrenmek için bkz . Power BI raporları oluşturmak için Analiz verilerini dönüştürme.
(İsteğe bağlı) Alanları yeniden adlandırma
Sütunları genişlettikte, bir veya daha fazla alanı yeniden adlandırmak isteyebilirsiniz. Örneğin, sütunu AreaPath
Area Path
olarak yeniden adlandırabilirsiniz. Nasıl yapılacağını öğrenmek için bkz . Sütun alanlarını yeniden adlandırma.
Toplama alanlarındaki null değerleri değiştirme
Bir iş öğesinin alt öğesi yoksa toplama değeri null olabilir. Örneğin, bir Özelliğin alt Kullanıcı Hikayeleri yoksa Descendants.CountOfUserStories "null" olur.
Daha kolay raporlama için aşağıdaki adımları izleyerek tüm null değerleri sıfırla değiştirin.
- Sütun üst bilgisine tıklayarak sütunu seçin.
- Dönüştür menüsünü seçin.
- Değerleri Değiştir'i seçin. Değerleri Değiştir iletişim kutusu görüntülenir.
- Bulunacak Değer alanına "null" yazın.
- Şununla Değiştir'e "0" girin.
- Tamam'ı seçin.
Tüm toplama sütunları için bu işlemi yineleyin.
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.
Tablo raporunu oluşturma
Power BI'da Görselleştirmeler'in altındaki Tablo raporunu seçin.
Sütunlar'a aşağıdaki alanları belirtilen sırayla ekleyin:
WorkItemI
, gerekirse kimliği göstermek için Özetleme'yi seçinWorkItemType
Title
State
Count of User Stories
Total Story Points
.
Örnek rapor görüntülenir.