前置時間和週期時間範例報告
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
您可以使用本文中提供的查詢來建立前置時間和週期圖表。 前置時間和週期時間指出工作流經小組開發管線所需的時間。 前置時間會測量從建立工作專案到完成所經過的總時間。 週期時間會測量小組在開始主動處理工作專案時完成工作專案所需的時間。
下圖顯示針對用戶劇本所做的優先順序指派,細分平均潛在客戶時間的範例。
如需潛在客戶和週期時間的詳細資訊,請參閱 潛在客戶時間和週期時間小工具 以及 累積流程、潛在客戶時間和週期時間指引。
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
必要條件
- 存取:至少是具有基本存取權的項目成員。
- 許可權: 根據預設,項目成員具有查詢分析及建立檢視的許可權。
- 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。
範例查詢
本節中的查詢支持傳回已完成使用者劇本的潛在客戶和週期時間數據。 您可以依區域路徑或小組名稱進行查詢。 所有這些查詢都會指定實體集, WorkItems
因為它們會傳回 Analytics 服務針對每個工作專案計算的數據。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 Azure Boards 的元數據參考。 您可以使用的 或 NavigationPropertyBinding Path
值EntitySet
底下EntityType
的任何Property
值來篩選查詢或傳回屬性。 每個 EntitySet
對應至 EntityType
。 如需每個值之數據類型的詳細資訊,請檢閱針對對應 EntityType
提供的元數據。
傳回使用者劇本和區域路徑的前置時間和周期時間
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and StateCategory eq 'Completed' "
&"and CompletedDate ge {startdate} "
&"and startswith(Area/AreaPath,'{areapath}') "
&"&$select=WorkItemId,Title,WorkItemType,State,Priority,AreaSK "
&",CycleTimeDays,LeadTimeDays,CompletedDateSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
替代字串和查詢明細
以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization}
為 Fabrikam
,而非 {Fabrikam}
。
{organization}
- 您的組織名稱{project}
- 針對跨項目查詢,您的小組專案名稱或完全省略 “/{project}”{areapath}
- 您的區域路徑。 範例格式:Project\Level1\Level2
{startdate}
- 針對指定日期或之後完成的專案啟動報表,格式為:YYYY-MM-DDZ
。 例如:2022-04-01Z
代表 2022 年 4 月 1 日。 不要以引號括住。
查詢明細
下表描述查詢的每個部分。
查詢元件
說明
$filter=WorkItemType eq 'User Story'
傳回使用者劇本的數據。
and StateCategory eq 'Completed'
只傳回已完成的專案。 系統只會針對已完成的工作項目計算「前置時間天數」和「週期時間天」的值。
注意
如果您查看記錄的原始數據,您可能會看到其中 CycleTimeDays=0
的專案。 當使用者劇本或工作項目進入同一 天的 [進行 中] 工作流程類別狀態和 [已完成 ] 時,就會發生這種情況。 如需工作流程狀態類別的詳細資訊,請參閱 工作流程狀態和狀態類別如何在待辦專案和面板中使用。
and CompletedDate ge {startdate}
傳回指定日期之後完成的專案。 範例: 2022-04-01Z 代表 2022-April-01
and startswith(Area/AreaPath,'{areapath}')
傳回您在'{areapath}'
中指定的特定區域路徑下的工作專案。 若要依小組名稱進行篩選,請使用 filter 語句 Teams/any(x:x/TeamName eq '{teamname})'
。
&$select=WorkItemId, Title, WorkItemType, State, Priority
選取要傳回的屬性。
, CycleTimeDays, LeadTimeDays, CompletedDateSK
傳回支援「潛在客戶時間日」、「週期時間日」和CompletedDateSK
的屬性。 CompletedDateSK 會以整數傳回日期值
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath)
展開、 Iteration
和 Area
實體的屬性AssignedTo
,然後選取它們的實體欄位。
傳回使用者劇本和小組的潛在客戶時間和周期時間
此查詢與上一節中提供的查詢相同,不同之處在於它會依數個小組名稱進行篩選,而不是區域路徑。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
&"$filter=WorkItemType eq 'User Story' "
&"and StateCategory eq 'Completed' "
&"and CompletedDate ge {startdate} "
&"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,AreaSK "
&",CycleTimeDays,LeadTimeDays,CompletedDateSK "
&"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(選擇性)重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。
轉換 Power Query 編輯器 中的數據
從 Power Query 編輯器,選擇具有您要轉換數據的查詢。 針對潛在客戶/週期時程圖表,您會想要進行下列轉換:
- 展開、
Iteration
、 和AssignedTo
等Area
數據行。 - 將和
CycleTimeDays
資料行的LeadTimeDays
資料類型轉換成整數。 - 將數據行的
CompletedDateSK
資料類型從整數轉換成日期值。
若要瞭解如何,請參閱轉換分析數據中的 下列各節來產生Power BI報表:
關閉查詢並套用您的變更
完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。
建立趨勢圖
在下列範例中,查詢已重新命名為 LeadCycleTime,但未重新命名任何數據行。
在 Power BI 中,選擇 [視覺效果] 底下的折線圖報表。
新增
CompletedDateSK
至 X 軸。將 新增
LeadTimeDays
至 Y 軸,以滑鼠右鍵按下並選取 [ 平均]。新增
Priority
至 圖例。
範例報表隨即顯示。 請注意,當您將滑鼠停留在報表中的任何區域時,會顯示更多數據。