Condividi tramite


Report di esempio di burndown sprint

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

I grafici burn-down sprint sono utili per monitorare il livello di esecuzione di un team nel piano sprint. Diversi grafici predefiniti e widget del dashboard supportano il monitoraggio del burndown dello sprint. Vedere Configurare e monitorare il burndown dello sprint.

Tuttavia, è possibile personalizzare un grafico burn-down sprint usando Analisi e Power BI con le query fornite in questo articolo. L'esempio seguente mostra un burndown delle storie utente e dei relativi stati.

Screenshot del report dell'istogramma a colonne cluster di Power BI Sprint.

Importante

  • L'eliminazione di percorsi di area o la riconfigurazione dei percorsi di iterazione causa una perdita irreversibile dei dati. Ad esempio, i grafici dei widget burndown e burnup, il burndown sprint e i grafici di velocità per i team con percorsi di area modificati non visualizzerà dati accurati. I grafici di tendenza cronologici fanno riferimento al percorso area e al percorso di iterazione, così come sono stati definiti al momento per ogni elemento di lavoro. Dopo l'eliminazione, non è possibile recuperare i dati cronologici per questi percorsi.
  • È possibile eliminare solo percorsi di area e iterazione non più utilizzati da elementi di lavoro.

Per altre informazioni sul burndown e sul burn-down e le linee guida per burndown e burnup.

Nota

Questo articolo presuppone che sia possibile leggere Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

Prerequisiti

  • Accesso: essere un membro di un progetto con almeno l'accesso Basic .
  • Autorizzazioni: per impostazione predefinita, i membri del progetto dispongono dell'autorizzazione per eseguire query su Analisi e creare viste.
  • 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

I grafici burn-down richiedono l'esecuzione di query sul WorkItemSnapshot set di entità per ottenere dati cronologici.

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.

Burndown User Stories per un percorso di area e l'iterazione corrente

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,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}.

  • {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


$apply=filter(

Start filter()

WorkItemType eq 'User Story'

Burndown sulle storie utente

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

Elementi di lavoro in un percorso di area specifico. Sostituendo con Area/AreaPath eq '{areapath}' restituisce elementi in un percorso di area specifico.

Per filtrare in base al nome del team, usare l'istruzione filter Teams/any(x:x/TeamName eq '{teamname})'

and StateCategory ne 'Completed'

Filtra gli elementi completati. Per altre informazioni sulle categorie di stato, vedere Modalità di utilizzo degli stati e delle categorie di stato del flusso di lavoro nei backlog e nelle bacheche.

and DateValue ge Iteration/StartDate

Iniziare la tendenza all'inizio dell'iterazione.

and DateValue le Iteration/EndDate

Tendenza finale alla fine dell'iterazione.

and Iteration/StartDate le now()

Selezionare Iterazione corrente.

and Iteration/EndDate ge now()

Selezionare l'iterazione corrente

)

Chiudi filtro()

/groupby(

Start groupby()

(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),

Raggruppa per DateValue (usato per la tendenza) e tutti i campi su cui si desidera creare report

aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)

Aggrega per conteggio delle storie utente e somma dei punti storia

)

Chiudi groupby()

Burndown User Stories per un team e l'iterazione corrente

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

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Burndown User Stories per tutti gli sprint dall'inizio di un anno

È possibile visualizzare un burndown di tutti gli sprint in un singolo report. Queste query eseguono il pull dei burndown sprint e i relativi punti di storia per tutti gli sprint dall'inizio dell'anno 2022.

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate ge 2022-01-01Z "
        &") "
        &"/groupby( "
            &"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Attività burn-down e lavoro rimanente

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.

Doc-ready Power BI Query (anonymized)
let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"startswith(Area/AreaPath,'{project}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
            &"and WorkItemType eq 'Task' "
        &") "
            &"/groupby( "
            &"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
        &") "
    ,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 Impostazioni query.

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

Espandere le colonne 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:

  • Area
  • Iteration
  • AssignedTo

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

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 il report istogramma in pila

  1. In Power BI scegliere il report Istogramma in pila in Visualizzazioni.

    Screenshot delle visualizzazioni e delle selezioni dei campi di Power BI per il report Sprint Burndown.

  2. Aggiungi DateValue all'asse X, fai clic con il pulsante destro del mouse e scegli DateValue, anzichéDate Hierarchy

  3. Aggiungi Count all'asse Y.

  4. Aggiungi State all'asse Y.

Il report di esempio, che visualizza il burndown sia su Story Points che su Count of Stories.

Screenshot del report di istogramma a colonne cluster di esempio di Power BI Sprint.