Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ě úspěšnosti kanálu.
Následující obrázek ukazuje příklad sestavy časového trendu.
Důležité
Integrace Power BI a přístup k kanálu OData služby Analytics jsou pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze obecně dostupné. 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.
Kategorie | Požadavky |
---|---|
úrovně přístupu |
-
Člen projektu. Alespoň základní přístup. |
Oprávnění | Ve výchozím nastavení mají členové projektu oprávnění provádět dotazy v Analytice a vytvářet 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é z hodnot Property
, které jsou pod EntityType
nebo NavigationPropertyBinding Path
, dostupnými s EntitySet
. 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í EntityType
hodnotu .
Získejte trend doby trvání v 80. percentilu pro zadaný pipeline
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. 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 analýza dotazů
Nahraďte následující řetězce hodnotami. Nezahrnujte závorky {} do své náhrady. Pokud je například název vaší organizace "Fabrikam", nahraďte {organization}
za Fabrikam
a nikoli {Fabrikam}
.
-
{organization}
– Název vaší organizace -
{project}
- Název projektu vašeho týmu -
{pipelinename}
– Název vašeho pipeline. Příklad:Fabrikam hourly build pipeline
-
{startdate}
- Datum zahájení reportu. 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(
Start filter()
klauzule.
Pipeline/PipelineName eq '{pipelinename}'
Vrátit spuštění pro zadané potrubí.
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átit pouze úspěšná nebo částečně úspěšná spuštění.
)
Zavřít filter()
klauzuli.
/compute(
Začněte compute()
klauzulí.
percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)
Vypočítat 80. percentil dob trvání potrubí u všech spuštění potrubí, která splňují kritéria filtru.
/groupby(
Spustit groupby()
(Duration80thPercentileInSeconds, CompletedOn/Date))
Seskupte podle data dokončení běhu pipeline a vypočítanou denní 80. percentilu doby trvání pipeline.
&$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 raději ID kanálu než název 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 data>Prázdný dotaz. 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ískejte 50. a 90. percentil spolu s trendem trvání na 80. percentilu
Můžete si zobrazit trend doby trvání vypočítaný pomocí jiné hodnoty percentilu. Následující dotazy poskytují dobu trvání pipeline na úrovni 50., 80. a 90. percentilu.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. Další informace viz 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í dodatečné kroky spolu s těmi, které jsou uvedeny v sekcích Změna datového typu sloupce a Vytvoření sestavy spojnicového grafu.
- Rozbalit
Branch
doBranch.BranchName
. - Vyberte vizualizaci Slicer v Power BI a přidejte
Branch.BranchName
do pole ř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 data>Prázdný dotaz. Další informace naleznete 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šechna potrubí projektu v jedné zprávě. Pokud chcete vytvořit sestavu, proveďte následující dodatečné kroky spolu s tím, co je uvedeno v sekcích Změna datového typu sloupce a Vytvoření sestavy s liniovým grafem.
- Rozbalit
Pipeline
doPipeline.PipelineName
. - Z podokna Vizualizace vyberte Slicer a přidejte
Pipeline.PipelineNam
do pole Průřezového filtru. - 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 data>Prázdný dotaz. 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
Rozšíření sloupců v Editoru 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 CompletedOn
rozšířit, aby se zploštil na CompletedOn.Date
.
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, zvolte Zavřít a použít v nabídce Domů, abyste uložili dotaz a vrátili se na kartu Sestava v Power BI.
Vytvořte sestavu spojnicového grafu
V Power BI v části Vizualizace zvolte spojnicový graf.
Přidejte
CompletedOn.Date
na osu X, klikněte na něj pravým tlačítkem myši a vyberte CompletedOn.Date místo datumové hierarchie.Přidejte
Duration80thPercentileInSeconds
na osu Y, klikněte na ni pravým tlačítkem a ujistěte se, že je vybraná možnost Součet.
Zobrazená sestava by měla vypadat podobně jako na tom následujícím obrázku.