Analiz kullanarak iş izleme verilerini toplama
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
OData ile Analiz'i kullanarak iş izleme verilerinizin toplamını iki yoldan biriyle alabilirsiniz. İlk yöntem, OData sorgunuza göre basit bir iş öğesi sayısı döndürür. İkinci yöntem, OData Toplama Uzantısını kullanan OData sorgunuzu temel alan JSON biçimli bir sonuç döndürür.
Bu makalede Analiz için OData sorguları oluşturma ve OData Analytics kullanarak temel sorguları tanımlama başlığı altında sağlanan bilgiler derlenebilir. Ayrıca, sorgular bu makale iş öğesi verilerini almaya odaklanmıştır, ancak ilkeler diğer varlık kümelerini sorgulamak için geçerlidir.
Bu makalede şunları öğreneceksiniz:
- OData Toplama Uzantısı Hakkında
- OData için Toplama Uzantısını kullanma
- Toplanan sonuçları gruplandırma ve filtreleme
- Toplu Akış diyagramı oluşturmak için verileri toplama
Basit sayıların nasıl oluşturulacağı hakkında bilgi edinmek için bkz . Öğe sayısını döndürme (başka veri yok) ve Öğe ve veri sayısı döndürme.
Not
Analiz hizmeti, tüm Azure DevOps Services için üretimde otomatik olarak etkinleştirilir ve desteklenir. Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim genel olarak kullanılabilir. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz.
Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0
en son önizleme sürümü ise sürümüdür v4.0-preview
. Daha fazla bilgi için bkz . OData API sürümü oluşturma.
Not
Analytics hizmeti, Azure DevOps Server 2020 ve sonraki sürümleri için tüm yeni proje koleksiyonları için otomatik olarak yüklenir ve üretimde desteklenir. Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim genel olarak kullanılabilir. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz. Azure DevOps Server 2019'dan yükselttiyseniz yükseltme sırasında Analytics hizmetini yükleyebilirsiniz.
Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0
en son önizleme sürümü ise sürümüdür v4.0-preview
. Daha fazla bilgi için bkz . OData API sürümü oluşturma.
Not
Analiz hizmeti, Azure DevOps Server 2019 için önizleme aşamasındadır. Bir proje koleksiyonu için etkinleştirebilir veya yükleyebilirsiniz . Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim Önizleme aşamasındadır. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz.
Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0
en son önizleme sürümü ise sürümüdür v4.0-preview
. Daha fazla bilgi için bkz . OData API sürümü oluşturma.
OData için Toplama Uzantısı nedir?
Analiz, iş izleme verileriniz üzerinde sorgu yazmak için OData'ya dayanır. OData'daki toplamalar anahtar sözcüğünü $apply
tanıtır bir uzantı kullanılarak elde edilir. Aşağıda bu anahtar sözcüğün nasıl kullanılacağına dair bazı örnekler verilmiştir. Veri Toplama için OData Uzantısı'nda uzantı hakkında daha fazla bilgi edinin.
OData toplama uzantısını kullanarak verileri toplama
Artık basit sayıların nasıl yapıldığını gördüğünüze göre, URL'nin sonundaki temel biçimin $apply
olduğu belirteci kullanarak toplamaları tetiklemeyi gözden geçirelim:
/{entitySetName}?$apply=aggregate({columnToAggregate} with {aggregationType} as {newColumnName})
Where:
- {entitySetName}, sorgulanması gereken varlıktır
- {columnToAggregate} toplama sütunudur
- {aggregationType} kullanılan toplama türünü belirtecek
- {newColumnName}, toplamadan sonra değerleri olan sütunun adını belirtir.
Uygulama uzantısı kullanılarak toplanan veriler
Uzantıyı $apply
kullanarak, iş izleme verilerinizi sorgularken sayıları, toplamları ve ek bilgileri alabilirsiniz.
Kalan tüm çalışmaların toplamını döndürme
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate(RemainingWork with sum as SumOfRemainingWork)
Son iş öğesi tanımlayıcısını döndürme
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate(WorkItemId with max as MaxWorkItemId)
Groupby yan tümcesini kullanarak sonuçları gruplandırma
OData toplama uzantısı, SQL GROUP BY
yan tümcesi ile aynı olan bir groupby
yan tümceyi de destekler. Sayıları daha ayrıntılı bir şekilde bölmek için bu yan tümceyi kullanabilirsiniz.
Örneğin, aşağıdaki yan tümce iş öğelerinin sayısını döndürür:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate($count as Count)
Türe groupby
göre iş öğelerinin sayısını döndürmek için yan tümcesini ekleyin:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=groupby((WorkItemType), aggregate($count as Count))
Bu örneğe benzer bir sonuç döndürür:
{
"@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/$metadata#WorkItems(WorkItemType,Count)","value":[
{
"@odata.id":null,"WorkItemType":"Bug","Count":3
},
{
"@odata.id":null,"WorkItemType":"Product Backlog Item","Count":13
}
]
}
Ayrıca, aşağıdaki örnekte olduğu gibi birden çok özelliğe göre gruplandırabilirsiniz:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=groupby((WorkItemType, State), aggregate($count as Count))
Bu örneğe benzer bir sonuç döndürür:
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/$metadata#WorkItems(WorkItemType,State,Count)",
"value": [
{
"@odata.id": null,
"State": "Active",
"WorkItemType": "Bug",
"Count": 2
},
{
"@odata.id": null,
"State": "Committed",
"WorkItemType": "Bug",
"Count": 1
},
{
"@odata.id": null,
"State": "Active",
"WorkItemType": "Product Backlog Item",
"Count": 5
},
{
"@odata.id": null,
"State": "Committed",
"WorkItemType": "Product Backlog Item",
"Count": 8
}
]
}
Varlıklar arasında da gruplandırabilirsiniz, ancak OData gruplandırma normalde bu konuda düşünme yönteminizden farklıdır.
Örneğin, bir kuruluş veya koleksiyondaki her projede kaç alan olduğunu öğrenmek istediğinizi varsayalım. OData'da "tüm alanları say ve bunları projeye göre gruplandır", "bana tüm projeleri ve her proje için alan sayısını ver" ile eşdeğerdir. Bunun sonucunda şuna benzer bir sorgu elde edin:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/Areas?
$apply=groupby((Project/ProjectName), aggregate($count as Count))
Toplu sonuçları filtreleme
Toplanan sonuçları da filtreleyebilirsiniz, ancak bunlar toplama kullanmadığınızdan biraz farklı uygulanır. Analiz, bir boru boyunca filtreleri değerlendirir, bu nedenle her zaman en iyi şekilde önce en ayrı filtrelemeyi yapmak en iyisidir.
Filtreler şu örneğe benzer:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=
filter(Iteration/IterationName eq 'Sprint 89')/
filter(WorkItemType eq 'User Story')/
groupby((State), aggregate($count as Count))
Not
Yan tümcesini groupby
sağlamanız gerekmez. Tek bir değer döndürmek için yan tümcesini aggregate
kullanabilirsiniz.
Tek bir çağrı içinde birden çok toplama oluşturma
Birden çok bilgi sağlamak isteyebilirsiniz. Bir örnek, tamamlanan çalışmanın toplamı ve kalan çalışmanın toplamıdır. Böyle bir durumda, aşağıdaki gibi ayrı çağrılar veya tek bir arama yapabilirsiniz:
/WorkItems?$apply=aggregate(CompletedWork with sum as SumOfCompletedWork, RemainingWork with sum as SumOfRemainingWork)
Aşağıdaki örneğe benzer bir sonuç döndürür:
{
"@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/$metadata#WorkItems(SumOfCompletedWork,SumOfRemainingWork)","value":[
{
"@odata.id":null,"SumOfCompletedWork":1525841.2900000005,"SumOfRemainingWork":73842.39
}
]
}
Tek bir çağrıda kullanılmak üzere hesaplanan özellikler oluşturma
Sonuç kümesinde kullanılacak özellikleri hesaplamak için matematiksel ifade kullanmanız gerekebilir. Tamamlanan çalışma yüzdesinin hesaplanması için tamamlanan çalışmanın toplamına ek olarak kalan çalışmanın toplamına bölünen tamamlanmış çalışmanın toplamı buna örnektir. Böyle bir durumda, şu örneği kullanabilirsiniz:
/WorkItems?$apply=aggregate(CompletedWork with sum as SumOfCompletedWork, RemainingWork with sum as SumOfRemainingWork)/compute(SumOfCompletedWork div (SumOfCompletedWork add SumOfRemainingWork) as DonePercentage)
{
"@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/$metadata#WorkItems(SumOfCompletedWork,SumOfRemainingWork)","value":[
{
"@odata.id":null,"DonePercentage":0.96760221857946638,"SumOfRemainingWork":50715.95,"SumOfCompletedWork":1514698.3400000033
}
]
}
Toplu verilerden Birikmeli Akış Diyagramı oluşturma
Power BI'da bir kümülatif akış diyagramı oluşturmak istediğinizi varsayalım. Aşağıdakine benzer bir sorgu kullanabilirsiniz:
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemBoardSnapshot?$apply=filter(DateValue gt 2015-07-16Z and DateValue le 2015-08-16Z)/filter(BoardName eq 'Stories' and Team/TeamName eq '{teamName}')/groupby((DateValue, ColumnName), aggregate(Count with sum as Count))&$orderby=DateValue
Bu örneğe benzer bir sonuç döndürür. Daha sonra doğrudan tercih ettiğiniz veri görselleştirmesinde kullanabilirsiniz.
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemBoardSnapshot(DateValue,ColumnName,Count)",
"value": [
{
"@odata.id": null,
"DateValue": "2015-07-16T00:00:00-07:00",
"Count": 324,
"ColumnName": "Completed"
},
{
"@odata.id": null,
"DateValue": "2015-07-16T00:00:00-07:00",
"Count": 5,
"ColumnName": "In Progress"
}
]
}
Şimdi bu sorguda gerçekte neler yaptığına göz atalım:
- Verileri belirli bir takıma filtreler
- Verileri belirli bir kapsamla filtreler
- İş öğelerinin sayısını döndürür.
Power BI veya Excel'i yenilerken ne kadar az satır gerekiyorsa yenileme o kadar hızlı gerçekleşir.