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


Folyamattevékenység időtartamának mintajelentése

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

Mennyi ideig tart a különböző feladatok végrehajtása? Ez a cikk azokat a lekérdezéseket ismerteti, amelyekből jelentést hozhat létre egy adott folyamathoz és annak tevékenységeihez. Az alábbi képen például az 50., a 80. és a 95. percentilis látható másodpercben az adott folyamathoz 2022. szeptember 1. és december 15. között befejezett összes tevékenységhez.

Képernyőkép a Power BI Pipelines tevékenység-időtartam táblájának trendjelentéséről.

Fontos

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ő az Azure DevOps Serviceshez, valamint az Azure DevOps Server 2020- és újabb verzióihoz. A cikkben szereplő minta lekérdezések csak az Azure DevOps Server 2020 és újabb verzióira érvényesek, és a 3.0-s vagy újabb verziótól függnek. Javasoljuk, hogy használja ezeket a lekérdezéseket, és küldjön nekünk visszajelzést.

Előfeltételek

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

Az entitást úgy PipelineRunActivityResults? kérdezi le, hogy a tevékenység időtartamára vonatkozó adatokat adja vissza.

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 Pipelines metaadat-referenciáit. Szűrheti a lekérdezéseket, vagy visszaadhatja a tulajdonságokat egy Property adott vagy egy adott értékkel elérhető értékek EntityType NavigationPropertyBinding Path bármelyikével EntitySet. Mindegyik EntitySet egy EntityType. Az egyes értékek adattípusával kapcsolatos további információkért tekintse át a megfelelő EntityTypemetaadatokat.

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/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
        &") "
            &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
                &"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
            &"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
                &"/groupby( "
            &"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
        &"&$orderby=TaskDuration50thPercentileInSeconds desc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Helyettesítési sztringek és lekérdezések lebontása

Cserélje le a következő sztringeket az értékekkel. Ne tartalmazzon szögletes zárójeleket {} a helyettesítéssel. Ha például a szervezet neve "Fabrikam", cserélje le a Fabrikamhelyére {organization} a nem {Fabrikam}.

  • {organization} - A szervezet neve
  • {project} – A csapat projektneve
  • {pipelinename} - A folyamat neve. Példa: Fabrikam hourly build pipeline
  • {startdate} - A jelentés indításának dátuma. Formátum: YYYYY-MM-DDZ. Példa: 2021-09-01Z 2021. szeptember 1. Ne foglaljon össze idézőjeleket vagy szögletes zárójeleket, és használjon két számjegyet mind a hónap, mind a dátum esetében.

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


$apply=filter(

Start filter() záradék.

Pipeline/PipelineName eq '{pipelinename}'

A megadott folyamat folyamatfuttatásainak visszaadása.

and PipelineRunCompletedOn/Date ge {startdate}

A megadott dátumon vagy után futó folyamat tevékenységeredményeinek visszaadása.

and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')

Csak a sikeres vagy részlegesen sikeres folyamatfuttatások tevékenységeredményét adja vissza.

and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)

Kihagyhatja a megszakított, kihagyott vagy elhagyott folyamatfuttatásokat.

)

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

/compute(

Start compute() záradék.

percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,

Minden tevékenységhez számítsa ki a tevékenység időtartamának 50. percentilisét minden olyan tevékenységhez, amely megfelel a szűrési feltételeknek.

percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,

Minden tevékenységhez számítsa ki a tevékenység időtartamának 80. percentilisét minden olyan tevékenységhez, amely megfelel a szűrési feltételeknek.

percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)

Minden tevékenységhez számítsa ki a tevékenység időtartamának 95. percentilisét minden olyan tevékenységhez, amely megfelel a szűrési feltételeknek.

/groupby(

Indítsa el a záradékot groupby() .

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

A folyamatfuttatás és a számított nap szerinti csoportosítás az 50. percentilis tevékenység időtartamával, a 80. percentilis tevékenység időtartamával és a 95. percentilis tevékenység időtartamával.

&$orderby=TaskDuration50thPercentileInSeconds desc

A választ a legmagasabb 50. percentilis időtartamú tevékenységek szerint rendezheti.

(Nem kötelező) Lekérdezés átnevezése

Az alapértelmezett lekérdezéscímkét (Query1) átnevezheti valami értelmesebbre. Egyszerűen adjon meg egy új nevet a Lekérdezés beállításai panelen.

Képernyőkép a Power BI lekérdezési menüjének beállításairól, a lekérdezés átnevezéséről.

Oszlop adattípusának módosítása

Az Átalakítás menüben módosítsa az alábbi oszlopok adattípusát. Ennek módjáról Decimal Number**. további információt az Oszlop adattípus átalakítása című témakörben talál.
- TaskDuration80thPercentileInSeconds - TaskDuration80thPercentileInSeconds - TaskDuration95thPercentileInSeconds.

(Nem kötelező) Oszlopmezők átnevezése

Átnevezheti az oszlopmezőket. Átnevezheti például a következő oszlopokat, hogy megjeleníthetőbbek legyenek. További információ: Oszlopmezők átnevezése.

Eredeti mezőnév Átnevezett mező
TaskDisplayName Feladatnév
TaskDuration50thPercentileInSeconds 50. percentilis
TaskDuration80thPercentileInSeconds 80. percentilis
TaskDuration95thPercentileInSeconds 95. percentilis

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.

A Tábla jelentés létrehozása

  1. A Power BI Vizualizációk területén válassza a Tábla jelentést. A mezők az Oszlopmezők átnevezése szakaszban megadottak szerint lettek átnevezve.

    Képernyőkép a vizualizációs mezők kijelöléséről a tevékenység-időtartam tábla jelentéséhez.

  2. Adja hozzá a következő mezőket az oszlopokhoz a megadott sorrendben.

    • Tevékenység neve
    • 50. percentilis
    • 80. percentilis
    • 95. percentilis
  3. A jelentés címének módosításához válassza a Vizualizációk panelen a Vizualizációk panelen a vizualizációk ecsetének formázása ikont, válassza az Általános lehetőséget, bontsa ki a Cím elemet, és cserélje le a meglévő szöveget.

Az alábbi képen az eredményként kapott jelentés egy része látható.

Képernyőkép a Power BI-folyamatok mintául szolgáló tevékenység időtartamának táblázat trendjelentéséről.