Munkakövetési adatok összesítése az Analytics használatával
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
A munkakövetési adatok összegzését kétféleképpen kaphatja meg az Analytics és az OData használatával. Az első metódus az OData-lekérdezés alapján egyszerű számú munkaelemet ad vissza. A második metódus JSON formátumú eredményt ad vissza az OData aggregációs bővítményt használó OData-lekérdezés alapján.
Ez a cikk az Elemzéshez készült OData-lekérdezések összeállítása és az alapszintű lekérdezések definiálása az OData Analytics használatával című cikkben található információkat tartalmazza. Emellett a lekérdezések ebben a cikkben a munkaelem-adatok beolvasására összpontosítanak, azonban az alapelvek más entitáskészletek lekérdezésére vonatkoznak.
Ebben a cikkben a következőt fogja elsajátítani:
- Az OData aggregációs bővítmény ismertetése
- Az OData aggregációs bővítményének használata
- Összesített eredmények csoportosítása és szűrése
- Adatok összesítése göngyölt folyamatábra létrehozásához
Ha meg szeretné tudni, hogyan hozhat létre egyszerű darabszámokat, olvassa el az Elemek számának visszaadása (nincs más adat) és az Elemek és adatok számának visszaadása című témakört.
Feljegyzés
Az Elemzési szolgáltatás automatikusan engedélyezve és támogatva van az összes Azure DevOps Services esetében az éles környezetben. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és hozzáférése általánosan elérhető. Javasoljuk, hogy használja és küldjön nekünk visszajelzést.
A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0
, és a legújabb előzetes verzió.v4.0-preview
További információ: OData API-verziószámozás.
Feljegyzés
Az Analytics szolgáltatás automatikusan települ és támogatott éles környezetben az Azure DevOps Server 2020 és újabb verziók összes új projektgyűjteményéhez. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és hozzáférése általánosan elérhető. Javasoljuk, hogy használja és küldjön nekünk visszajelzést. Ha az Azure DevOps Server 2019-ről frissített, a frissítés során telepítheti az Analytics szolgáltatást.
A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0
, és a legújabb előzetes verzió.v4.0-preview
További információ: OData API-verziószámozás.
Feljegyzés
Az Analytics szolgáltatás előzetes verzióban érhető el az Azure DevOps Server 2019-hez. Engedélyezheti vagy telepítheti egy projektgyűjteményhez. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és elérése előzetes verzióban érhető el. Javasoljuk, hogy használja és küldjön nekünk visszajelzést.
A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0
, és a legújabb előzetes verzió.v4.0-preview
További információ: OData API-verziószámozás.
Mi az OData összesítési bővítménye?
Az Elemzés az OData-ra támaszkodik, hogy lekérdezéseket hozjon a munkakövetési adatokon keresztül. Az OData aggregációi a kulcsszót tartalmazó $apply
bővítmény használatával érhetők el. Az alábbiakban bemutatunk néhány példát a kulcsszó használatára. További információ a bővítményről az OData-bővítmény adatösszesítéshez.
Adatok összesítése az OData aggregációs bővítmény használatával
Most, hogy megismerte, hogyan végezhet egyszerű számokat, tekintsük át, hogyan aktiválhat összesítéseket azzal a $apply
jogkivonattal, amelyben az URL-cím végén található alapformátum a következő:
/{entitySetName}?$apply=aggregate({columnToAggregate} with {aggregationType} as {newColumnName})
Ahol:
- A(z) {entitySetName} az az entitás, amelyet le kell kérdezni
- A(z) {columnToAggregate} az aggregációs oszlop
- A(z) {aggregationType} megadja a használt összesítés típusát
- A(z) {newColumnName} annak az oszlopnak a nevét adja meg, amelynek értékei az összesítés után vannak.
Összesített adatok az alkalmazásbővítménnyel
$apply
A bővítmény használatával számokat, összegeket és további információkat szerezhet be a munkakövetési adatok lekérdezése során.
Az összes hátralévő munka összegét adja vissza
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate(RemainingWork with sum as SumOfRemainingWork)
Az utolsó munkaelem-azonosító visszaadása
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate(WorkItemId with max as MaxWorkItemId)
Találatok csoportosítása a groupby záradék használatával
Az OData aggregációs bővítmény egy olyan záradékot groupby
is támogat, amely megegyezik az SQL-záradékkal GROUP BY
. Ezzel a záradékkal gyorsan lebonthatja a számokat részletesebben.
A következő záradék például a munkaelemek számát adja vissza:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=aggregate($count as Count)
Adja hozzá a groupby
záradékot a munkaelemek számának típus szerinti visszaadásához:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=groupby((WorkItemType), aggregate($count as Count))
Az alábbi példához hasonló eredményt ad vissza:
{
"@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
}
]
}
Több tulajdonság szerint is csoportosíthat, ahogy ebben a példában is látható:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
$apply=groupby((WorkItemType, State), aggregate($count as Count))
Az alábbi példához hasonló eredményt ad vissza:
{
"@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
}
]
}
Entitások között is csoportosíthat, az OData-csoportosítás azonban eltér attól, hogy általában hogyan gondol rá.
Tegyük fel például, hogy tudni szeretné, hogy egy szervezet vagy gyűjtemény egyes projekteiben hány terület található. Az OData-ban a "minden terület megszámlálása és csoportosítása projekt szerint" egyenértékű azzal, hogy "az összes projektet és az egyes projektekhez tartozó területek számát adja meg". Ez a következőhöz hasonló lekérdezést eredményez:
https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/Areas?
$apply=groupby((Project/ProjectName), aggregate($count as Count))
Összesített eredmények szűrése
Szűrheti az összesített eredményeket is, de azok alkalmazása kissé eltér attól, mint ha nem aggregációt használ. Az Analytics kiértékeli a szűrőket egy cső mentén, így mindig a legkülönbözőbb szűrést érdemes elvégezni.
A szűrők a következő példához hasonlóan néznek ki:
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))
Feljegyzés
Nem kell megadnia a záradékot groupby
. Egyszerűen használhatja a aggregate
záradékot egyetlen érték visszaadásához.
Több aggregáció létrehozása egyetlen híváson belül
Előfordulhat, hogy több információt is meg szeretne adni. Ilyen például a befejezett munka összege és a fennmaradó munka összege. Ilyen esetben az alábbiak szerint indíthat külön hívásokat vagy egyetlen hívást:
/WorkItems?$apply=aggregate(CompletedWork with sum as SumOfCompletedWork, RemainingWork with sum as SumOfRemainingWork)
A következő példához hasonló eredményt ad vissza:
{
"@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/$metadata#WorkItems(SumOfCompletedWork,SumOfRemainingWork)","value":[
{
"@odata.id":null,"SumOfCompletedWork":1525841.2900000005,"SumOfRemainingWork":73842.39
}
]
}
Számított tulajdonságok létrehozása egyetlen hívásban való használatra
Előfordulhat, hogy matematikai kifejezéssel kell kiszámítania az eredményhalmazban használható tulajdonságokat. Ilyen például a befejezett munka összege, amely a befejezett munka összegével és a hátralévő munka összegével van elosztva a befejezett munka százalékos arányának kiszámításához. Ilyen esetben ezt a példát használhatja:
/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
}
]
}
Összesített folyamatábra létrehozása összesített adatokból
Tegyük fel, hogy halmozott folyamatábrákat szeretne létrehozni a Power BI-ban. Az alábbihoz hasonló lekérdezést használhat:
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
A példához hasonló eredményt ad vissza. Ezután közvetlenül a választott adatvizualizáción belül használhatja.
{
"@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"
}
]
}
Tekintsük át a lekérdezés tényleges lépéseit:
- Az adatok szűrése egy adott csapatra
- Az adatok szűrése egy adott hátralékra
- A munkaelemek számát adja vissza.
A Power BI vagy az Excel frissítésekor minél kevesebb sorra van szükség, annál gyorsabb a frissítés.