Condividi tramite


Elencare query e report di esempio di elementi di lavoro collegati

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Questo articolo illustra come creare un report che elenca gli elementi di lavoro collegati ad altri elementi di lavoro. Ad esempio, il report seguente mostra un elenco di funzionalità collegate a Storie utente con il tipo di collegamento padre-figlio.

Screenshot dei collegamenti padre-figlio del report della tabella Funzionalità e Storie utente.

Per altre informazioni sui tipi di collegamento e sul collegamento di elementi di lavoro, vedere Collegare storie utente, problemi, bug e altri elementi di lavoro.

Altre query di esempio includono l'elenco di bug con un collegamento Duplicato a un altro bug e l'elenco di bug che non contengono un collegamento Duplicato a un altro bug.

Nota

Questo articolo presuppone di avere letto Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

Prerequisiti

  • Per visualizzare i dati di Analisi ed eseguire query sul servizio, è necessario essere membri di un progetto con accesso basic o superiore. Per impostazione predefinita, a tutti i membri del progetto vengono concesse le autorizzazioni per eseguire query su Analisi e definire le visualizzazioni di Analisi.
  • Per altre informazioni sugli altri prerequisiti relativi all'abilitazione di servizi e funzionalità e alle attività generali di rilevamento dei dati, vedere Autorizzazioni e prerequisiti per l'accesso ad Analytics.

Query di esempio

Vengono fornite diverse query che illustrano come filtrare gli elementi di lavoro collegati. Tutte queste query specificano il WorkItems set di entità quando restituiscono i dati correnti.

Nota

Per determinare le proprietà disponibili a scopo di filtro o report, vedere Informazioni di riferimento sui metadati per Azure Boards. È possibile filtrare le query o restituire proprietà usando uno qualsiasi dei Property valori in un EntityType oggetto o NavigationPropertyBinding Path i valori disponibili con un oggetto EntitySet. Ognuno EntitySet corrisponde a un oggetto EntityType. Per altre informazioni sul tipo di dati di ogni valore, esaminare i metadati forniti per l'oggetto corrispondente EntityType.

Restituire le funzionalità e le storie utente figlio

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Stringhe di sostituzione e scomposizione delle query

Sostituire le stringhe seguenti con i valori. Non includere parentesi quadre {} con la sostituzione. Ad esempio, se il nome dell'organizzazione è "Fabrikam", sostituire {organization} con Fabrikam, non {Fabrikam}.

  • {organization} - Nome dell'organizzazione
  • {project} - Nome del progetto team o omettere completamente "/{project}" per una query tra progetti
  • {areapath} - Il percorso dell'area. Formato di esempio: Project\Level1\Level2.

Suddivisione delle query

La tabella seguente descrive ogni parte della query.

Parte della query

Descrizione

$filter=WorkItemType eq 'Feature'

Restituisce storie utente.

and State ne 'Closed' and State ne 'Removed'

Omettere le funzionalità il cui stato è impostato su Chiuso o Rimosso.

and startswith(Area/AreaPath,'{areapath}')

Includere solo le funzionalità in un percorso di area specifico sostituendo '{areapath}'.
Per filtrare in base al nome di un team, usare l'istruzione Teams/any(x:x/TeamName eq '{teamname})'filter .

&$select=WorkItemId,Title,WorkItemType,State,AreaSK

Selezionare i campi da restituire.

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),

Specificare i campi da usare per espandere AssignedTole entità , Iteratione Area .

Links(

Espandere l'entità Links .

$filter=LinkTypeName eq 'Child'

Filtrare gli elementi di lavoro collegati solo a quelli con tipo di collegamento figlio . Altri esempi sono Parent, Child, Duplicate, Duplicate of, Affected, Affected By.

and TargetWorkItem/WorkItemType eq 'User Story';

Includere solo storie utente collegate.

$select=LinkTypeName;

Selezionare la LinkTypeName proprietà da restituire.

$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)

Selezionare le proprietà dell'elemento di lavoro collegato da restituire.

)

Chiudere la Links() clausola .

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Restituire storie utente collegate filtrate in base a Teams

La query seguente è identica a quella usata in precedenza in questo articolo, ad eccezione dei filtri in base al nome del team anziché al percorso area.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

(Facoltativo) Rinominare la query

È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. È sufficiente immettere un nuovo nome dal riquadro Query Impostazioni.

Screenshot delle opzioni del menu query di Power BI, rinominare la query.

Trasformare i dati in editor di Power Query

Prima di creare il report, è necessario espandere le colonne che restituiscono record contenenti diversi campi. In questa istanza è necessario espandere i record seguenti:

  • Links
  • Links.TargetWorkItem
  • Area
  • Iteration
  • AssignedTo

Per informazioni su come espandere gli elementi di lavoro, vedere Trasformare i dati di Analisi per generare report di Power BI.

(Facoltativo) Rinominare i campi

Dopo aver espanso le colonne, è possibile rinominare uno o più campi. Ad esempio, è possibile rinominare la colonna AreaPath in Area Path. È possibile rinominarli nella vista tabella dati o in un secondo momento quando si crea il report. Per informazioni su come, vedere Rinominare i campi delle colonne.

In questo esempio i campi seguenti sono stati rinominati:

Nome campo originale Rinomina
Links.TargetWorkItem.ID ID di destinazione
LinksLinkTypeName Tipo di collegamento
Links.TargetWorkItem.State Stato di destinazione
Links.TargetWorkItem.Title Titolo di destinazione

Chiudere la query e applicare le modifiche

Dopo aver completato tutte le trasformazioni dei dati, scegliere Chiudi e applica dal menu Home per salvare la query e tornare alla scheda Report in Power BI.

Screenshot dell'opzione Chiudi e applica editor di Power Query.

Creare un report tabella per elencare gli elementi di lavoro collegati

  1. In Power BI scegliere Report tabella in Visualizzazioni.

    Screenshot delle visualizzazioni e dei campi di Power BI per il report tabella elenco Collegamenti padre-figlio.

  2. Aggiungere i campi seguenti nell'ordine indicato in Colonne:

    • ID, fare clic con il pulsante destro del mouse e selezionare Non riepilogare
    • Stato
    • Title
    • ID di destinazione, fare clic con il pulsante destro del mouse e selezionare Non riepilogare
    • Tipo di collegamento
    • Stato di destinazione
    • Titolo di destinazione

Viene visualizzato il report di esempio.

Screenshot dei collegamenti padre-figlio di esempio del report della tabella Funzionalità e Storie utente.