Analytics 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 makale , Analiz için OData sorguları oluşturma ve OData Analyticskullanarak temel sorguları tanımlama makalesinde sağlanan bilgileri temel alır. Ayrıca, bu makalenin sorguları 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ını 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.0en 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ümler için tüm yeni proje koleksiyonları için üretimde otomatik olarak yüklenir 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. Azure DevOps Server 2019'dan yükselttiyseniz yükseltme sırasında Analiz hizmetini yükleyebilirsiniz.

Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0en 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.0en 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ılacağını gördüğünüze göre, URL'nin sonundaki temel biçimin $apply olduğu belirteci kullanarak toplamaları nasıl tetikleyebileceğinizi gözden geçirelim:

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

Konum:

  • {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ını kullanarak toplanan veriler

Uzantıyı $apply kullanarak, iş izleme verilerinizi sorgularken sayıları, toplamları ve ek bilgileri alabilirsiniz.

Kalan tüm çalışmanı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 thie yan tümcesi 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, bu ö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 düşündüğünüzden farklıdır.

Örneğin, bir kuruluş veya koleksiyondaki her projede kaç alan olduğunu bilmek 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. Bu, şuna benzer bir sorguyla sonuçlar:

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 kanal 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. Örnek olarak tamamlanan çalışmanın toplamı ve kalan çalışmanın toplamı ayrı ayrı gösterilir. Böyle bir durumda, aşağıdaki gibi ayrı aramalar 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 bir 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 örnek olarak gösteriliyor. 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
    }
  ]
}

Toplama verilerinden Birikmeli Akış Diyagramı oluşturma

Power BI'da 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 bunu 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 bakalı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 gereken satır sayısı ne kadar az olursa yenileme o kadar hızlı gerçekleşir.

Sonraki adımlar