Lista exempelfrågor och rapporter för länkade arbetsobjekt
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Den här artikeln visar hur du skapar en rapport som visar arbetsobjekt som är länkade till andra arbetsobjekt. I följande rapport visas till exempel en lista över funktioner som är länkade till Användarberättelser med länktypen överordnad-underordnad.
Mer information om länktyper och länkning av arbetsobjekt finns i Länka användarberättelser, problem, buggar och andra arbetsobjekt.
Andra exempelfrågor är att lista buggar med en duplicerad länk till en annan bugg och lista buggar som inte innehåller en duplicerad länk till en annan bugg.
Kommentar
Den här artikeln förutsätter att du läser Översikt över exempelrapporter med OData-frågor och har en grundläggande förståelse för Power BI.
Förutsättningar
- Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
- Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
- Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.
Exempelfrågor
Det finns flera frågor som visar hur du filtrerar länkade arbetsobjekt. Alla dessa frågor anger entitetsuppsättningen WorkItems
när de returnerar aktuella data.
Kommentar
Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Azure Boards. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property
under ett EntityType
eller NavigationPropertyBinding Path
flera värden som är tillgängliga med en EntitySet
. Var och EntitySet
en motsvarar en EntityType
. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType
.
Returnera funktioner och deras underordnade användarberättelser
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Ersättningssträngar och frågeuppdelning
Ersätt följande strängar med dina värden. Ta inte med hakparenteser {} med din ersättning. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization}
med Fabrikam
, inte {Fabrikam}
.
{organization}
– Organisationens namn{project}
– Namnet på ditt teamprojekt, eller utelämna "/{project}" helt, för en fråga mellan projekt{areapath}
- Din områdessökväg. Exempelformat:Project\Level1\Level2
.
Frågeuppdelning
I följande tabell beskrivs varje del av frågan.
Frågedel
Beskrivning
$filter=WorkItemType eq 'Feature'
Returnera användarberättelser.
and State ne 'Closed' and State ne 'Removed'
Utelämna funktioner vars tillstånd är inställt på Stängd eller Borttagen.
and startswith(Area/AreaPath,'{areapath}')
Inkludera endast funktioner under en specifik områdessökväg som '{areapath}'
ersätter .
Om du vill filtrera efter ett teamnamn använder du filtersatsen Teams/any(x:x/TeamName eq '{teamname})'
.
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
Välj fält som ska returneras.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
Ange fält som ska användas för att expandera AssignedTo
, Iteration
och Area
entiteter.
Links(
Expandera entiteten Links
.
$filter=LinkTypeName eq 'Child'
Filtrera länkade arbetsobjekt till endast de med underordnad länktyp. Andra exempel är Överordnad, Underordnad, Duplicerad, Duplicerad av, Påverkar, Påverkad av.
and TargetWorkItem/WorkItemType eq 'User Story';
Inkludera endast länkade användarberättelser.
$select=LinkTypeName;
Välj den egenskap som LinkTypeName
ska returneras.
$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)
Välj egenskaperna för det länkade arbetsobjektet som ska returneras.
)
Links()
Stäng satsen.
Returnera användarberättelser som är länkade med den relaterade länktypen
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Returnera länkade användarberättelser filtrerade efter Teams
Följande fråga är densamma som den som användes tidigare i den här artikeln, förutom att den filtreras efter gruppnamn i stället för områdessökväg.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Returnera buggar med en duplicerad länk till en annan bugg
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Returnera buggar som inte har en duplicerad länk till en annan bugg
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
(Valfritt) Byt namn på fråga
Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange bara ett nytt namn i fönstret Frågeinställningar .
Transformera data i Power Query-redigeraren
Innan du skapar rapporten måste du expandera kolumner som returnerar poster som innehåller flera fält. I det här fallet vill du expandera följande poster:
Links
Links.TargetWorkItem
Area
Iteration
AssignedTo
Information om hur du expanderar arbetsobjekt finns i Transformera analysdata för att generera Power BI-rapporter.
(Valfritt) Byt namn på fält
När du har expanderat kolumnerna kanske du vill byta namn på ett eller flera fält. Du kan till exempel byta namn på kolumnen AreaPath
till Area Path
. Du kan byta namn på dem i datatabellvyn eller senare när du skapar rapporten. Mer information finns i Byt namn på kolumnfält.
I det här exemplet har följande fält bytt namn:
Ursprungligt fältnamn | Byt namn |
---|---|
Links.TargetWorkItem.ID | Mål-ID |
LinksLinkTypeName | Länktyp |
Links.TargetWorkItem.State | Måltillstånd |
Links.TargetWorkItem.Title | Målrubrik |
Stäng frågan och tillämpa ändringarna
När du har slutfört alla dina datatransformeringar väljer du Stäng och använd på startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.
Skapa en tabellrapport för att lista länkade arbetsobjekt
I Power BI väljer du Tabellrapport under Visualiseringar.
Lägg till följande fält i den ordning som anges i Kolumner:
- ID, högerklicka och välj Sammanfatta inte
- Delstat
- Title
- Mål-ID, högerklicka och välj Sammanfatta inte
- Länktyp
- Måltillstånd
- Målrubrik
Exempelrapporten visas.