釋放取消範例查詢和報告

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

燒毀和燒毀報告顯示一段時間後完成的工作量。 下圖顯示依用戶劇本計數和故事點總和的燒毀。

Power BI Release burndown 叢集柱形圖報表的螢幕快照。

只有在您規劃圖表期間的工作時,「待毀」圖表才有意義。 否則,如果您計劃以短期衝刺為基礎,則不會看到標準燒毀。 在這些情況下,燒毀圖表更有意義,可瞭解一段時間的進度。

重要

刪除區域路徑或重新設定反覆項目路徑可能會導致數據遺失,且無法還原。 例如,已變更區域路徑小組的燒毀或燒毀小工具圖表、短期衝刺燒毀和速度圖表不會反映正確的數據。 歷史趨勢圖會參考 區域路徑反覆項目路徑 ,如過去針對每個工作項目定義。 刪除區域路徑或反覆項目路徑時,就無法擷取其歷程記錄數據。

若要深入瞭解燒毀和燒毀,請參閱 設定燒毀或燒毀小工具燒毀和燒毀指引

注意

本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。

必要條件

  • 若要檢視分析數據和查詢服務,您必須是具有基本存取權或更高許可權的項目成員。 根據預設,所有專案成員都會獲得查詢分析的許可權,並定義分析檢視。
  • 若要瞭解有關服務與功能啟用和一般數據追蹤活動的其他必要條件,請參閱 存取分析的許可權和必要條件。

範例查詢

本節中的查詢會示範如何根據歷程記錄數據產生工作專案的燒毀圖表。 所有這些查詢都會指定 WorkItemSnapshot 實體集。

注意

若要判斷篩選或報表用途的可用屬性,請參閱 Azure Boards 的元數據參考。 您可以使用的 或 NavigationPropertyBinding PathEntitySet底下EntityType的任何Property值來篩選查詢或傳回屬性。 每個 EntitySet 對應至 EntityType。 若要深入瞭解每個值的數據類型,請檢閱針對對應 EntityType提供的元數據。

從開始和結束日期到區域路徑中用戶劇本的終結

下列查詢會示範如何根據以發行標籤的工作專案,傳回版本的使用者劇本歷程記錄數據。

注意

針對以篩選標籤為基礎的報表,標籤必須指派給發行開始時的工作專案,或取消/燒毀開始日期。 否則,工作專案不會包含在傳回的數據中。

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 OData 查詢的範例報表概觀。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

替代字串和查詢明細

以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization}Fabrikam,而非 {Fabrikam}

  • {organization} - 您的組織名稱
  • {project} - 針對跨項目查詢,您的小組專案名稱或完全省略 “/{project}”
  • {areapath} - 您的區域路徑。 範例格式: Project\Level1\Level2
  • {tag} - 代表發行的標記。 標記的所有工作專案 {tagname} 都包含在報表中
  • {startdate} - 以下列格式啟動燒毀報表的日期: YYYY-MM-DDZ。 例如: 2022-04-01Z 代表 2022 年 4 月 1 日。 不要以引號括住。
  • {enddate} - 結束燒毀報告的日期。

查詢明細

下表描述查詢的每個部分。

查詢元件

說明

$apply=filter(WorkItemType eq 'User Story'

在燒毀中包含用戶劇本。

and StateCategory ne 'Completed'

篩選出已完成的專案。 如需狀態類別的詳細資訊,請參閱 工作流程狀態和狀態類別如何在待辦專案和面板中使用。

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

只包含取代的特定區域路徑'{areapath}'底下的用戶劇本。
若要依小組名稱進行篩選,請使用 filter 語句 Teams/any(x:x/TeamName eq '{teamname})'

and Tags/any(x:x/TagName eq '{tagname}').

指定標記標籤標,代表要燒毀的發行,並在報表中包含以 {tagname} 標記的所有工作專案。

and DateValue ge {startdate}

在指定的日期或之後開始燒毀。 範例: 2019-04-01Z 代表 2019-April-01。

and DateValue le {enddate}

在指定的日期或之前開始燒毀。 與 {startdate} 的格式相同。

)

Close filter() 子句。

/groupby (

Start groupby() 子句。

(DateValue, State, Area/AreaPath),

分組依據 DateValue (用於趨勢),以及您想要報告的任何欄位。

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

依用戶劇本計數和故事點的總和匯總

)

Close groupby() 子句。

團隊的使用者劇本已取消

下列查詢會傳回依小組名稱而非 區域路徑篩選的待用數據。

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 OData 查詢的範例報表概觀。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"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 Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

每星期五有一個快照集的燒毀用戶劇本

使用每周快照集可減少提取至 Power BI 的數據量,並提升查詢效能。

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 OData 查詢的範例報表概觀。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Tags/any(x:x/TagName eq '{tagname}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &"and Date/DayName eq 'Friday' "
        &") "
        &"/groupby ( "
            &"(DateValue,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

根據區域和反覆項目路徑取消用戶劇本

某些組織會使用 反覆項目路徑 來標記發行的故事。 例如,他們可能有 MyProject\Release1反覆項目路徑。 下列查詢示範如何依反覆專案路徑選取 [用戶劇本]。

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 OData 查詢的範例報表概觀。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and startswith(Iteration/IterationPath,'{iterationpath}') "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &") "
        &"/groupby ( "
            &"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

具有自定義域值的待處理用戶劇本

某些組織會使用自定義欄位來標記發行的用戶劇本。 例如,他們可能有一 個名為里程碑的欄位。 此查詢會示範如何依自定義欄位選取 [用戶劇本]。

您必須在查詢中取代 {customfieldname}{releasevalue} 。 若要判斷自定義欄位的名稱,請參閱 Azure Boards 的元數據參考、自定義屬性。 您將以自訂屬性名稱取代 {customfieldname} ,例如 Custom_Milestone

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 OData 查詢的範例報表概觀。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot?"
        &"$apply=filter(WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and {customfieldname} eq '{releasevalue}' "
            &"and DateValue ge {startdate} "
            &"and DateValue le {enddate} "
            &") "
        &"/groupby ( "
            &"(DateValue,StateCategory,State,Area/AreaPath,AreaSK), "
            &"aggregate ($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(選擇性)重新命名查詢

您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [查詢 設定] 窗格中輸入新的名稱即可。

Power BI 查詢功能表選項、重新命名查詢的螢幕快照。

展開 Power Query 編輯器 中的數據行

建立報表之前,您必須展開傳回包含數個字段之記錄的數據行。 在此實例中,您會想要展開下列記錄:

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

若要瞭解如何展開工作專案,請參閱 轉換分析數據以產生Power BI報表

關閉查詢並套用您的變更

完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。

Power Query 編輯器 [關閉並套用] 選項的螢幕快照。

建立叢集柱形圖

  1. 在 Power BI 中,選擇 [視覺效果] 底下的 [叢集柱形圖]。

    Power BI 視覺效果和 [字段] 選項的螢幕快照,其中顯示 [發行已燒毀的叢集柱形圖] 報表。

  2. 新增 DateValueX 軸,以滑鼠右鍵按下並選取 DateValue,而不是 Date Hierarchy

  3. 新增 CountY 軸

  4. 新增 TotalStoryPointsY 軸

此範例報表會顯示 [劇本] 和 [總和] 或 [故事點] 計數的待毀。

Power BI 範例發行取消叢集柱形圖報表的螢幕快照。