Fråga trenddata

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Att undersöka trender i data och göra jämförelser mellan tidsperioder är viktiga aspekter av rapportering och dataanalys. Analytics stöder dessa funktioner.

Kommentar

Analytics-tjänsten aktiveras automatiskt och stöds i produktion för alla Azure DevOps Services. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback. Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Kommentar

Analytics-tjänsten installeras automatiskt och stöds i produktion för alla nya projektsamlingar för Azure DevOps Server 2020 och senare versioner. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback. Om du har uppgraderat från Azure DevOps Server 2019 kan du installera Analytics-tjänsten under uppgraderingen.

Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Kommentar

Analytics-tjänsten är en förhandsversion för Azure DevOps Server 2019. Du kan aktivera eller installera den för en projektsamling. Power BI-integrering och åtkomst till OData-flödet för Analystjänsten finns i förhandsversion. Vi rekommenderar att du använder den och ger oss feedback.

Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Trenddata exponeras i entitetsuppsättningarna WorkItemSnapshot och WorkItemBoardSnapshot. De är konstruerade så att varje arbetsobjekt, från den dag det skapades till idag, finns för varje dag. För en organisation med endast ett arbetsobjekt som skapades för ett år sedan finns det 365 rader i den här entiteten. För stora projekt skulle dessa entiteter vara opraktiska att använda med klientverktyg.

Vad är lösningen? Använd aggregeringstilläggen.

I den här artikeln får du lära dig:

  • Skapa en grundläggande fråga för trenddata

Med OData Aggregation Extensions kan du returnera aggregerade data från Azure DevOps som bidrar till rapportering. Du kan till exempel visa buggtrend för mars månad. Buggtrender är en vanlig och viktig del av hanteringen av alla projekt så att du kan använda det på ett bra sätt omedelbart.

Kommentar

Exemplen som visas i det här dokumentet baseras på en URL för Azure DevOps Services. Du måste ersätta med din Azure DevOps Server-URL.

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

Skapa en grundläggande fråga för trenddata

Det finns några grundläggande krav som du behöver för att effektivt köra frågor mot tabellen WorkItemSnapshot:

  • Filtrera data efter datum.
  • Aggregeringen bör grupperas efter minst datum. Om inte får svaret en varning.

Frågan för att skapa en rapport om buggtrender ser ut som i följande exempel:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
    groupby((DateValue,State), aggregate($count as Count))
  &$orderby=DateValue

Det returnerar ett resultat som liknar följande exempel:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 2666
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 51408
    }
  ]
}

Den här frågan skapar som mest 31 * (number of bug states). Standardfelet har tre tillstånd:

  • Aktivt
  • Matchat
  • Stängda

Som mest returnerar den här frågan 93 rader oavsett hur många tusentals poster som faktiskt finns. Det ger en mycket mer kompakt form av att returnera data.

Nu ska vi titta på en variant i det här exemplet. Du vill se buggtrenden för en iteration eller en version som börjar med en iteration och slutar med en annan.

Skapa den frågan genom att göra följande exempel:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(WorkItemType eq 'Bug')/
    filter(Iteration/IterationName eq 'Sprint 99')/
    filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
    groupby((DateValue, State), aggregate($count as Count))
  &$orderby=DateValue

Det returnerar ett resultat som liknar följande exempel:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 320
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 38
    }
  ]
}

I den här frågan finns det två viktiga skillnader. Vi har lagt till en filtersats för att filtrera data till en specifik iteration och datumen jämförs nu med iterationens start- och slutdatum jämfört med ett hårdkodat datum.

Kommentar

Om aggregering inte används i frågan i ögonblicksbildstabeller visas varningen "Den angivna frågan innehåller inte en $select- eller $apply-sats som rekommenderas för alla frågor." i svaret.