Megosztás a következőn keresztül:


Funkcióállapot összesítő mintajelentése

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

Ez a cikk bemutatja, hogyan hozhat létre halmozott sávjelentést a funkciók állapotának megjelenítéséhez a befejezett gyermek felhasználói történetek alapján. A jelentés az aktív funkciókészletekhez tartozó sztoripontok összesítésével jeleníti meg a készültségi százalékot. Egy összegző oszlop hozzáadásával megtekintheti a hátralék hasonló folyamatábra-diagramjait. Ha meg szeretné tudni, hogyan, tekintse meg a Összegzési folyamatok vagy összesítések megjelenítése cikket.

Amikor összesítő jelentéseket hoz létre a Power BI használatával, az adathalmazokban beágyazott adatokkal kapcsolatos problémákba ütközhet. Konkrétan, ha beágyazott adatokat tartalmazó oszlopokat tartalmazó táblázatot próbál kimutatni, hibaüzenetet küldhet. További információt a Beágyazott adatok kezelése című szakaszban talál.

Előfeltételek

Kategória Követelmények
hozzáférési szintek - Projekt tagja.
- Legalább alapszintű hozzáférést.
Jogosultságok Alapértelmezés szerint a projekttagok jogosultak az Analytics lekérdezésére és nézetek létrehozására. A szolgáltatás- és szolgáltatás-engedélyezéssel, valamint az általános adatkövetési tevékenységekkel kapcsolatos egyéb előfeltételekről további információt az Analytics eléréséhez szükséges engedélyek és előfeltételek című témakörben talál.

Feljegyzés

Ez a cikk feltételezi, hogy OData-lekérdezések használatával olvassa el a mintajelentések áttekintését, és alapszintű ismeretekkel rendelkezik a Power BI-ról.

Minta lekérdezések

A funkció előrehaladása lekérdezi az WorkItems entitást az aktuális állapot lekéréséhez.

Feljegyzés

A szűrési vagy jelentéskészítési célokra elérhető tulajdonságok meghatározásához tekintse meg az Azure Boards metaadat-referenciáját. Szűrheti a lekérdezéseket, vagy visszaadhatja a tulajdonságokat bármelyik Property értékkel, amely az EntityType alatt vagy az NavigationPropertyBinding Path-rel elérhető EntitySet értékek közé tartozik. Mindegyik EntitySet egy EntityType. Az egyes értékek adattípusával kapcsolatos további információkért tekintse át a megfelelő EntityTypemetaadatokat.

A funkció előrehaladásának áttekintése egy terület elérési útja alapján

Másolja és illessze be közvetlenül az alábbi Power BI-lekérdezést az Üres adat>lekérdezés lekérése ablakba. További információ: OData-lekérdezéseket használó mintajelentések áttekintése.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Descendants/any()"
            &"&$select=WorkItemId,Title,Area,Iteration,AssignedTo,WorkItemType,State,AreaSK"
            &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') " 
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Helyettesítési karaktersorozatok és lekérdezés felbontása

Cserélje le a következő karakterláncokat a saját értékeivel. Ne tartalmazz szögletes zárójeleket {} a helyettesítés során. Ha például a szervezet neve "Fabrikam", cserélje le a {organization}-t Fabrikam-re, és ne {Fabrikam}-re.

  • {organization} - A szervezet neve
  • {project} - A csapat projektneve, vagy teljes egészében kihagyva /{project} egy projektközi lekérdezéshez
  • {areapath} - A te területi útvonalad. Példaformátum: Project/Level1/Level2.

Lekérdezések lebontása

Az alábbi táblázat a lekérdezés egyes részeit ismerteti.

Lekérdezési rész

Leírás


$filter=WorkItemType eq 'Feature'

Visszaküldési funkciók.

and State ne 'Cut'

Hagyja ki a Kihagyandóként megjelölt funkciókat.

and startswith(Area/AreaPath,'{areapath}')

Adott terület elérési útjának munkaelemeit adja vissza. Az adott területi útvonal elemeinek cserélése Area/AreaPath eq '{areapath}' segítségével.
A csoportnév szerinti szűréshez használja a szűrőutasítást Teams/any(x:x/TeamName eq '{teamname})'.

and Descendants/any()

Szűrjön ki minden olyan munkaelemet, amely legalább egy vagy "bármely" leszármazottat tartalmaz. Tartalmazza az összes olyan funkciót, amely legalább egy Gyermek munkaelemet tartalmaz. Ha az összes munkaelemet le szeretné szerezni a leszármazottaikkal, még akkor is, ha nem rendelkezik ilyennel, futtasson egy lekérdezést a Descendants/any() szűrő nélkül. A gyermek felhasználói történetekkel nem rendelkező szolgáltatások kihagyásához cserélje le a következőre any(d:d/WorkItemType eq 'User Story'): .

Az összes munkaelem esetén leszármazottakkal és anélkül:

$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

Minden olyan munkaelem esetében, amelynek legalább egy leszármazottja van:

$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

&$select=WorkItemId, Title, WorkItemType, State

Válassza ki a visszaadni kívánt tulajdonságokat.

&$expand=Descendants(

A Descendants záradék kibontásának kezdete

$apply=filter(WorkItemType eq 'User Story')

Szűrje a leszármazottakat. Csak felhasználói történeteket tartalmazzon (kihagyja a feladatokat és a hibákat).

/groupby((StateCategory),

Csoportosítsa az összesítőt StateCategory szerint. Az állapotkategóriákkal kapcsolatos további információkért tekintse meg a munkafolyamat-állapotok és állapotkategóriák használatát a hátralékokban és a táblákban.

aggregate(StoryPoints with sum as TotalStoryPoints))

A történeti pontok összegzett összege.

)

Zárja be Descendants() a záradékot.

Egy csapat funkcióállapotának áttekintése

Az alábbi lekérdezés megegyezik a korábban használttal, azzal a különbséggel, hogy a Terület elérési útja helyett a Csapatnév alapján szűr.

Másolja és illessze be közvetlenül az alábbi Power BI-lekérdezést az Üres adat>lekérdezés lekérése ablakba. További információ: OData-lekérdezéseket használó mintajelentések áttekintése.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Cut' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
            &"and Descendants/any() "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') "
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Az adatok átalakítása Power Query szerkesztőben

A lekérdezés több oszlopot ad vissza, amelyeket ki kell bontania, mielőtt felhasználhatja őket egy jelentés létrehozásához. Az OData $expand utasítással behúzott entitás olyan rekordot ad vissza, amely esetleg több mezővel rendelkezik. Bontsa ki a rekordot az entitás mezőibe való összesimításához.

A Funkció előrehaladása jelentéshez a következő átalakításokat kell végrehajtania:

  • Bontsa ki az Descendants oszlopot két oszlopra: Descendants.StateCategory és Descendants.TotalStoryPoints
  • A oszlopra alkalmazza a Descendants.StateCategory műveletet az egyes állam kategóriák elkülönítéséhez.
  • Cserélje le a null értékeket az összes elforgatott oszlopban.
  • Adjon hozzá egy egyéni oszlopot, amely a készültségi szintet jelöli. Az egyéni oszlop hibákat jelenít meg, ha a kimutatott állapotoszlopokban null oszlopok vannak.

A power BI-jelentések létrehozásához tekintse meg a Transform Analytics-adatokat ismertető témakört.

Beágyazott adatok kezelése

A kimutatási művelet végrehajtása előtt győződjön meg arról, hogy az adatkészlet nem tartalmaz beágyazott adatokat tartalmazó oszlopokat. Kövesse az alábbi lépéseket:

  1. Beágyazott oszlopok azonosítása: Ellenőrizze, hogy az adatkészletben vannak-e olyan oszlopok, amelyek listákat, rekordokat vagy táblákat tartalmazhatnak egyetlen cellán belül.
  2. Beágyazott adatok simítása vagy eltávolítása: A beágyazott oszlopokat eltávolíthatja, vagy összesimíthatja őket úgy, hogy külön oszlopokká bontja őket a Power Query "Kibontás" funkciójával.
  3. A kimutatási művelet végrehajtása: A beágyazott adatok címzése után hibák nélkül folytathatja a kimutatási műveletet.

Feljegyzés

Ebben a példában a felhasználói történet állapotértékei közé tartozik a Javasolt, a Folyamatban és a Befejezett.

Zárja be a lekérdezést, és alkalmazza a módosításokat

Miután elvégezte az összes adatátalakítást, válassza a Kezdőlap menü Bezárás &alkalmaz elemét a lekérdezés mentéséhez és a Power BI Jelentés lapjára való visszatéréshez.

Képernyőkép a Power Query-szerkesztő Bezárás és alkalmazás lehetőségről.

Halmozott sávdiagram-jelentés létrehozása

  1. A Power BI-ban válassza a Halmozott sávdiagram-jelentést a Vizualizációk csoportban.

    Képernyőkép a Power BI-vizualizációkról és a mezőválasztásokról a Funkciók előrehaladása halmozott sávdiagram-jelentésben.

  2. Adj hozzá Title az Y tengelyhez.

  3. Hozzáadás PercentComplete az X tengelyhez, kattintson a jobb gombbal, és válassza az Összeg lehetőséget.

A példajelentés megjelenik.

Minta funkció előrehaladás halmozott sávdiagram jelentés képernyőképe.