Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
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 makale, Analiz için OData sorguları oluşturma ve OData Analytics kullanarak temel sorguları tanımlama başlıklarında sağlanan bilgilere dayanarak hazırlanmıştır. 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, Azure DevOps Services içindeki tüm hizmetler için üretimde otomatik olarak etkinleştirilir ve desteklenir. Power BI tümleştirmesi ve Analiz hizmetinin OData akışına erişim genel olarak kullanılabilir. Analytics OData akışını kullanmanız ve geri bildirim sağlamanız teşvik edilir.
Kullanılabilir veriler sürüme bağlıdır. OData API'sinin desteklenen en son sürümü, v2.0en son önizleme sürümü ise şeklindedir 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 hizmetinin OData akışına erişim genel olarak kullanılabilir. Analytics OData akışını kullanmanız ve geri bildirim sağlamanız teşvik edilir. Azure DevOps Server 2019'dan yükseltme yaparsanız, yükseltme sırasında Analytics hizmetini yükleyebilirsiniz.
Kullanılabilir veriler sürüme bağlıdır. OData API'sinin desteklenen en son sürümü, v2.0en son önizleme sürümü ise şeklindedir v4.0-preview. Daha fazla bilgi için bkz . OData API sürümü oluşturma.
Önkoşullar
| Kategori | Gereksinimler |
|---|---|
| Erişim Düzeyleri |
-
Proje üyesi. - En az Temel erişim. |
| İ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. Analyticserişme izinleri ve önkoşulları. |
OData için Toplama Uzantısı nedir?
Analiz, iş izleme verileriniz üzerinde sorgu yazmak için OData'ya dayanır. OData'daki toplamalar, $apply anahtar sözcüğünü kullanan bir uzantı aracılığıyla 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})
Nerede:
- {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ür
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 groupby yan tümcesi ile aynı olan bir GROUP BY 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)
"groupby yan tümcesini ekleyerek iş öğelerinin türlerine göre sayısını döndürün."
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, boru boyunca filtreleri değerlendirir, bu nedenle en hassas filtrelemeyi öncelikle yapmak her zaman 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
groupby maddesini 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 bekleme listesine göre 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.