Sdílet prostřednictvím


Ukázková sestava trendu doby trvání kanálu

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

V tomto článku se dozvíte, jak vytvořit sestavu, která ukazuje, jak dlouho obvykle trvá úspěšné dokončení kanálu. Denní trend sestavy doby trvání kanálu je podobný grafu trendu rychlosti kanálu v sestavě přenosové rychlosti kanálu.

Následující obrázek ukazuje příklad sestavy trendu doby trvání.

Snímek obrazovky se sestavou trendu doby trvání kanálů Power BI

Důležité

Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze. Ukázkové dotazy uvedené v tomto článku jsou platné pouze pro Azure DevOps Server 2020 a novější verze a závisí na verzi v3.0-Preview nebo novější. Doporučujeme, abyste tyto dotazy používali a poskytli nám zpětnou vazbu.

Požadavky

  • Přístup: Buďte členem projektu s alespoň základním přístupem.
  • Oprávnění: Ve výchozím nastavení mají členové projektu oprávnění k dotazování na Analýzy a vytváření zobrazení.
  • Další informace o dalších požadavcích týkajících se povolení služeb a funkcí a obecných aktivit sledování dat najdete v tématu Oprávnění a požadavky pro přístup k Analýzám.

Poznámka:

Tento článek předpokládá, že si přečtete přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.

Vzorové dotazy

Následující dotazy sady entit můžete použít k vytvoření různých, ale podobných sestav trendu PipelineRuns doby trvání kanálu.

Poznámka:

Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro Azure Pipelines. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property pod hodnotami nebo NavigationPropertyBinding Path hodnotami dostupnými v objektu EntitySetEntityType . Každý EntitySet odpovídá hodnotě EntityType. Další informace o datovém typu každé hodnoty najdete v metadatech zadaných pro odpovídající EntityTypehodnotu .

Získání trendu doby trvání 80. percentilu pro zadaný kanál

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Náhradní řetězce a rozpis dotazů

Nahraďte následující řetězce hodnotami. Nezahrnujte do náhradních závorek {} . Pokud je například název vaší organizace "Fabrikam", nahraďte {organization} ho Fabrikam, nikoli {Fabrikam}.

  • {organization} – Název vaší organizace
  • {project} - Název projektu vašeho týmu
  • {pipelinename} – Název vašeho kanálu. Příklad: Fabrikam hourly build pipeline
  • {startdate} - Datum zahájení sestavy. Formát: RRRR-MM-DDZ. Příklad: 2021-09-01Z představuje 1. září 2021. Nepoužívejte uvozovky ani hranaté závorky a pro oba měsíce a datum použijte dvě číslice.

Rozpis dotazů

Následující tabulka popisuje jednotlivé části dotazu.

Část dotazování

Popis


$apply=filter(

Klauzule Start filter() .

Pipeline/PipelineName eq '{pipelinename}'

Návratová spuštění kanálu pro zadaný kanál.

and CompletedDate ge {startdate}

Vrácení spuštění kanálu v zadaném datu nebo po zadaném datu.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Vrátí pouze úspěšná nebo částečně úspěšná spuštění.

)

Klauzule Close filter()

/compute(

Klauzule Start compute() .

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Výpočet 80. percentilu doby trvání kanálu pro všechna spuštění kanálu, která odpovídají kritériím filtru.

/groupby(

Zahájení seskupby()

(Duration80thPercentileInSeconds, CompletedOn/Date))

Seskupte podle data dokončení spuštění kanálu a počítanou dobu trvání 80. kanálu percentilu.

&$orderby=CompletedOn/Date asc

Seřadit odpověď podle data dokončení.

Filtrování podle ID kanálu místo názvu kanálu

Kanály je možné přejmenovat. Pokud chcete zajistit, aby se sestavy Power BI při změně názvu kanálu nepřerušily, použijte MÍSTO názvu kanálu ID kanálu. ID kanálu můžete získat z adresy URL stránky spuštění kanálu.

https://dev.azure.com/{organization}/{project}/_build?definitionId= `{pipelineid}`

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"PipelineId eq {pipelineId} "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Získání 50. a 90. percentilu spolu s trendem trvání 80. percentilu

Můžete si zobrazit trend doby trvání vypočítaný pomocí jiné hodnoty percentilu. Následující dotazy poskytují 50. a 90. dobu trvání kanálu percentilu spolu s 80. percentilem.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.5,CompletedDateSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.90,CompletedDateSK) as Duration90thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, Duration90thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrovat podle větve

Pokud chcete zobrazit trend doby trvání kanálu pouze pro určitou větev , použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec a vytvořit oddíly sestavy spojnicového grafu.

  • Rozbalit Branch do Branch.BranchName.
  • Vyberte průřez vizualizace Power BI a přidejte Branch.BranchName ho do pole průřezu.
  • Vyberte kanál z průřezu, pro který potřebujete zobrazit trend doby trvání kanálu.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,BranchSK, CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, Branch/BranchName, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend doby trvání pro všechny kanály projektu

Můžete si zobrazit trend doby trvání pro všechny kanály projektu v jedné sestavě. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec a vytvořit oddíly sestavy spojnicového grafu.

  • Rozbalit Pipeline do Pipeline.PipelineName.
  • V podokně Vizualizace vyberte průřez a přidejte ho Pipeline.PipelineNam do pole průřezu.
  • Vyberte kanál z průřezu, pro který potřebujete vidět trend rychlosti průchodu kanálu.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
                &") "
        &"/compute( "
        &"percentile_cont(TotalDurationSeconds, 0.8,PipelineId, CompletedDateSK) as Duration80thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration80thPercentileInSeconds, Pipeline/PipelineName, CompletedOn/Date)) "
                &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Rozbalení sloupců v Editor Power Query

Před vytvořením sestavy budete muset rozbalit sloupce, které vracejí záznamy obsahující několik polí. V tomto případě budete chtít sloupec rozšířit CompletedOn , aby se CompletedOn.Datezploštěl .
Informace o tom, jak rozbalit pracovní položky, najdete v tématu Transformace analytických dat pro generování sestav Power BI.

Změna datového typu sloupce

V nabídce Transformace změňte datový typ pro Duration80thPercentileInSeconds desetinné číslo. Postup najdete v tématu Transformace datového typu sloupce.

(Volitelné) Přejmenování polí sloupců

Pole sloupců můžete přejmenovat. Můžete například přejmenovat sloupec Pipeline.PipelineName na Pipeline Name, nebo TotalCount na Total Count. Postup najdete v tématu Přejmenování polí sloupců.

Zavřete dotaz a použijte změny.

Jakmile dokončíte všechny transformace dat, v nabídce Domů zvolte Zavřít a použít dotaz a vraťte se na kartu Sestava v Power BI.

Snímek obrazovky s možností Zavřít a Použít Editor Power Query

Vytvoření sestavy spojnicového grafu

  1. V Power BI v části Vizualizace zvolte sestavu spojnicového grafu .

    Snímek obrazovky s výběrem polí vizualizace pro sestavu trendu doby trvání spuštění kanálů

  2. Přidejte CompletedOn.Date na osu X, klikněte na ni pravým tlačítkem myši a vyberte CompletedOn.Date místo hierarchie kalendářních dat.

  3. Klikněte Duration80thPercentileInSeconds na ni pravým tlačítkem na osu Y a ujistěte se, že je vybraný součet.

Zobrazená sestava by měla vypadat podobně jako na následujícím obrázku.

Snímek obrazovky se sestavou trendu trvání ukázkových kanálů Power BI