Výpis ukázkových dotazů a sestav propojených pracovních položek
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
V tomto článku se dozvíte, jak vytvořit sestavu se seznamem pracovních položek propojených s jinými pracovními položkami. Například následující sestava zobrazuje seznam funkcí propojených s uživatelskými příběhy s typem odkazu nadřazený-podřízený.
Další informace o typech propojení a propojení pracovních položek najdete v tématu Propojení uživatelských scénářů, problémů, chyb a dalších pracovních položek.
Mezi další ukázkové dotazy patří výpis chyb s duplicitním odkazem na jinou chybu a výpis chyb, které neobsahují duplicitní odkaz na jinou chybu.
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.
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.
Vzorové dotazy
K dispozici je několik dotazů, které ukazují, jak filtrovat propojené pracovní položky. Všechny tyto dotazy určují WorkItems
sadu entit, která vrací aktuální data.
Poznámka:
Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro Azure Boards. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property
pod hodnotami nebo NavigationPropertyBinding Path
hodnotami dostupnými v objektu EntitySet
EntityType
. 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 .
Vrácení funkcí a jejich podřízených uživatelských scénářů
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/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Closed' and State ne 'Removed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Child' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,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 vašeho týmového projektu nebo úplně vynecháte /{project}, pro dotaz mezi projekty{areapath}
- Cesta k vaší oblasti. Příklad formátu:Project\Level1\Level2
.
Rozpis dotazů
Následující tabulka popisuje jednotlivé části dotazu.
Část dotazování
Popis
$filter=WorkItemType eq 'Feature'
Vrátí uživatelské scénáře.
and State ne 'Closed' and State ne 'Removed'
Vynechání funkcí, jejichž stav je nastaven na Uzavřeno nebo Odebráno.
and startswith(Area/AreaPath,'{areapath}')
Zahrnout pouze funkce v rámci konkrétní cesty oblasti nahrazení '{areapath}'
.
Chcete-li filtrovat podle názvu týmu, použijte příkaz Teams/any(x:x/TeamName eq '{teamname})'
filtru .
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
Vyberte pole, která chcete vrátit.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
Zadejte pole, která se mají použít k rozbalení AssignedTo
, Iteration
a Area
entit.
Links(
Rozbalte entitu Links
.
$filter=LinkTypeName eq 'Child'
Filtrujte propojené pracovní položky jenom na ty, které mají typ podřízeného odkazu. Další příklady jsou nadřazený, podřízený, duplicitní, duplicitní, ovlivněný.
and TargetWorkItem/WorkItemType eq 'User Story';
Zahrnout pouze propojené uživatelské scénáře.
$select=LinkTypeName;
Vyberte vlastnost, LinkTypeName
která se má vrátit.
$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)
Vyberte vlastnosti propojené pracovní položky, která se má vrátit.
)
Zavřete klauzuli Links()
.
Vrácení uživatelských scénářů propojených s typem souvisejícího odkazu
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/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Related' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vrácení propojených uživatelských scénářů filtrovaných podle Teams
Následující dotaz je stejný jako ten, který jste použili dříve v tomto článku, s tím rozdílem, že filtruje podle názvu týmu místo cesty k oblasti.
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/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and State ne 'Closed' "
&"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Related' "
&"and TargetWorkItem/WorkItemType eq 'User Story'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vrácení chyb s duplicitním odkazem na jinou chybu
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/WorkItems?"
&"$filter=WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug') "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
&"Links( "
&"$filter=LinkTypeName eq 'Duplicate' "
&"and TargetWorkItem/WorkItemType eq 'Bug'; "
&"$select=LinkTypeName; "
&"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vrácení chyb, které nemají duplicitní odkaz na jinou chybu
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/WorkItems?"
&"$filter=WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and not (Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug')) "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(Volitelné) Přejmenování dotazu
Výchozí popisek dotazu , Query1, můžete přejmenovat na něco smysluplnějšího. Jednoduše zadejte nový název z podokna Nastavení dotazu.
Transformace dat 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 rozbalit následující záznamy:
Links
Links.TargetWorkItem
Area
Iteration
AssignedTo
Informace o tom, jak rozbalit pracovní položky, najdete v tématu Transformace analytických dat pro generování sestav Power BI.
(Volitelné) Přejmenování polí
Po rozbalení sloupců můžete chtít přejmenovat jedno nebo více polí. Sloupec můžete například přejmenovat AreaPath
na Area Path
. Při vytváření sestavy je můžete přejmenovat v zobrazení tabulky dat nebo později. Postup najdete v tématu Přejmenování polí sloupců.
V tomto příkladu byla přejmenována následující pole:
Původní název pole | Přejmenovat |
---|---|
Links.TargetWorkItem.ID | ID cíle |
LinksLinkTypeName | Typ propojení |
Links.TargetWorkItem.State | Cílový stav |
Links.TargetWorkItem.Title | Cílový název |
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.
Vytvoření sestavy tabulky pro výpis propojených pracovních položek
V Power BI zvolte v části Vizualizace sestavu tabulky.
Do sloupců přidejte následující pole v uvedeném pořadí:
- ID, kliknutí pravým tlačítkem myši a výběr možnosti Nevystihovejte souhrn
- Kraj
- Název
- ID cíle, kliknutí pravým tlačítkem myši a výběr možnosti Nevystihovejte souhrn
- Typ propojení
- Cílový stav
- Cílový název
Zobrazí se ukázková sestava.