Analytics kullanarak iş izleme verilerini toplama

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

OData ile Analytics kullanarak iş izleme verilerini iki şekilde toplayabilirsiniz: basit toplamlar için kullanın $count veya gruplandırılmış, filtrelenmiş ve hesaplanan sonuçları JSON olarak döndürmek için OData $apply toplama uzantısını kullanın.

Bu makale, Analiz için OData sorguları oluşturma ve OData Analytics kullanarak temel sorguları tanımlama konularını temel alır. Örnekler iş öğesi verilerine odaklanır, ancak aynı ilkeler diğer varlık kümeleri için de geçerlidir. Basit sayı sorguları için bkz. Öğe sayısını alma.

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

$apply agregasyon uzantısı hakkında

OData, iş izleme verileriniz üzerinde gruplama, filtreleme ve toplama değerlerini hesaplama için $apply anahtar sözcüğünü tanıtan bir genişletme sağlar. Aşağıdaki bölümlerde $apply, aggregate, groupby, filter ve compute ile nasıl kullanılacağı gösterilmektedir. Tam belirtim için bkz. Veri Toplama için OData Uzantısı.

$apply kullanarak verileri toplama

Sorgu URL'nize $apply belirtecini ekleyerek toplamaları tetikleyin. Temel söz dizimi:

/{entitySetName}?$apply=aggregate({columnToAggregate} with {aggregationType} as {newColumnName})

Parametre Açıklama
{entitySetName} Sorgulanacak varlık, örneğin WorkItems.
{columnToAggregate} Birleştirilecek alan, örneğin RemainingWork.
{aggregationType} Toplama işlevi: sum, min, max, averageveya countdistinct.
{newColumnName} Toplanan sonuç sütunu için takma ad.

Aşağıdaki örneklerde yaygın aggregate işlemler gösterilmektedir.

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 kullanarak sonuçları gruplandırma

yan tümcesi groupby SQL GROUP BY gibi çalışır; toplanan sonuçları bir veya daha fazla özelliğe göre ayırır.

İş öğelerini türe göre sayma

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $apply=groupby((WorkItemType), aggregate($count as Count))

Şunun gibi bir sonuç döndürür:

{
  "value": [
    { "WorkItemType": "Bug", "Count": 3 },
    { "WorkItemType": "Product Backlog Item", "Count": 13 }
  ]
}

Birden çok özelliğe göre gruplandırma

Daha ayrıntılı dökümler oluşturmak için parantez içine daha fazla özellik groupby ekleyin:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $apply=groupby((WorkItemType, State), aggregate($count as Count))

Tür ve durumun her benzersiz bileşimi için bir satır döndürür (örneğin, Hata/Etkin, Hata/Kabul Edilen, Ürün Kapsam Öğesi/Etkin).

Varlıklar arasında gruplandırma

Gezinti özelliklerini kullanarak ilgili varlıklar arasında gruplandırabilirsiniz. Örneğin, proje başına alanları saymak için:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/Areas?
  $apply=groupby((Project/ProjectName), aggregate($count as Count))

Toplu sonuçları filtreleme

Toplamadan önce veya sonra verileri daraltmak için filter() içinde $apply kullanın. Birden çok filtreyi (boru) kullanarak / zincirleyin ve en iyi performans için en seçici filtreyi ilk sıraya yerleştirin.

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 yan tümcesi isteğe bağlıdır. Tek bir değer döndürmek için tek başına kullanın aggregate .

Tek bir çağrıda birden çok alanı toplama

Ekstra gidiş-dönüşlerden kaçınmak için, aggregate yan tümcesi içinde birden çok alanı virgülle ayırarak listeleyin.

/WorkItems?$apply=aggregate(CompletedWork with sum as SumOfCompletedWork, RemainingWork with sum as SumOfRemainingWork)

İadeler

{
  "value": [
    { "SumOfCompletedWork": 1525841.29, "SumOfRemainingWork": 73842.39 }
  ]
}

Hesaplanan özellikleri hesapla

Aritmetik ifadeler (compute(), div, add, sub) kullanarak yeni değerler türetmek için mul içine toplanmış sonuçları yönlendirin. Aşağıdaki örnek tamamlanan çalışma yüzdesini hesaplar:

/WorkItems?$apply=aggregate(CompletedWork with sum as SumOfCompletedWork, RemainingWork with sum as SumOfRemainingWork)/compute(SumOfCompletedWork div (SumOfCompletedWork add SumOfRemainingWork) as DonePercentage)

İadeler

{
  "value": [
    { "DonePercentage": 0.9676, "SumOfCompletedWork": 1514698.34, "SumOfRemainingWork": 50715.95 }
  ]
}

Birikmeli akış diyagramı sorgusu oluşturma

Aşağıdaki sorgu, filter, groupby ve aggregate ögelerini WorkItemBoardSnapshot varlık kümesine karşı birleştirerek Power BI veya Excel'de bir kümülatif akış diyagramı için veri oluşturur.

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 sorgu bir tarih aralığına ve belirli bir panoya ve takıma göre filtreleyerek tarih ve pano sütununa göre gruplandırır ve grup başına bir sayı döndürür. İadeler

{
  "value": [
    { "DateValue": "2015-07-16T00:00:00-07:00", "ColumnName": "Completed", "Count": 324 },
    { "DateValue": "2015-07-16T00:00:00-07:00", "ColumnName": "In Progress", "Count": 5 }
  ]
}

Tavsiye

Ne kadar az satır döndürülürse Power BI veya Excel o kadar hızlı yenilenir. Sonuç kümesini en aza indirmek için sıkı tarih aralıklarını ve belirli pano ve ekip filtrelerini kullanın.

İş izleme verilerini toplamak için yapay zeka kullanma

Azure DevOps MCP Sunucusunu yapılandırıyorsanız, yapay zeka yardımcınızdan Azure DevOps kuruluşunuzdan gerçek zamanlı iş öğesi verilerini almasını isteyebilir ve bu verilere dayalı Analiz OData $apply toplama sorgularını hazırlamanıza veya sorunlarını gidermenize yardımcı olabilirsiniz.

Görev Örnek talimat
Eyalete göre say In <OrganizationName>, draft an Analytics OData $apply query that counts work items grouped by State in <ProjectName>. Use placeholders for <ODataVersion> and any filters I need.
Türe ve duruma göre sayımı Create an Analytics OData $apply query for <OrganizationName> that groups WorkItems by WorkItemType and State and returns a count for each group in <ProjectName>.
Filtrele sonra topla Write an Analytics OData query that filters WorkItems to bugs with Priority = 1 in <ProjectName>, then groups by Area/AreaPath and State and returns counts.
Kalan iş ve tamamlanan işin toplamını hesaplama Generate an Analytics OData $apply query that filters to Iteration/IterationPath startswith '<IterationPath>' in <ProjectName>, then returns SumOfCompletedWork and SumOfRemainingWork.
Ekipler arasında birleştirme Help me create an Analytics OData $apply query for WorkItemBoardSnapshot that filters to BoardName '<BoardName>' and Team/TeamName '<TeamName>' in <ProjectName>, then groups by DateValue and ColumnName and returns Count.
Her maddeyi açıklayın Explain what each part of this $apply query does and how to adjust it for a different iteration: <ODataQueryOrUrl>.
$apply hatalarını ayıkla This Analytics OData query returns a 400 error. Diagnose the $apply syntax and suggest a corrected query: <ODataQueryOrUrl>.
Sonuçları doğrulama Given this Analytics OData query for <OrganizationName>/<ProjectName>: <ODataQueryOrUrl>, tell me what columns and shape of JSON to expect back, and what common mistakes to check if results look wrong.

Tavsiye

Visual Studio Code kullanıyorsanız aracı modu özellikle toplama sorgularında yinelemeye yardımcı olur; filtreleri iyileştirme, söz dizimi sorunlarını giderme $apply ve sonuçları doğrulama.

Sonraki adım