Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
本文為您說明如何為指定團隊顯示故事積累流圖。 此數據也可透過內建圖表和儀錶板小工具取得。 如需這些選項的詳細資訊,請參閱 檢視及設定累計流程圖。
下圖顯示一個範例,其中展示了在 [研究
如需累計流程的詳細資訊,請參閱 累計流程、前置時間和週期時間指引 和 累計流程、前置時間和週期時間指引。
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
| 類別 | 要求 |
|---|---|
| 存取層級 |
-
專案成員。 - 至少擁有 基本 存取權限。 |
| 許可 | 根據預設,項目成員具有查詢分析及建立檢視的許可權。 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。 |
範例查詢
本節中的查詢支援傳回使用者故事的累積流量數據。 這些查詢指定了WorkItemBoardSnapshot 實體集,以返回隨時間變化計算的董事會數據。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 Azure Boards 的元數據參考。 您可以使用任何Property值來篩選查詢,或根據EntityType底下的NavigationPropertyBinding Path值、EntitySet值來回傳屬性。 每個 EntitySet 對應至 EntityType。 如需每個值之數據類型的詳細資訊,請檢閱針對對應 EntityType提供的元數據。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/WorkItemBoardSnapshot?"
&"$apply=filter( "
&"Team/TeamName eq '{teamname}' "
&"and BoardName eq 'Stories' "
&"and DateValue ge {startdate} "
&") "
&"/groupby( "
&"(DateValue,ColumnName,LaneName,State,WorkItemType,AssignedTo/UserName,Area/AreaPath), "
&"aggregate($count as Count) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
替代字串和查詢明細
以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization} 為 Fabrikam,而非 {Fabrikam}。
-
{organization}- 您的組織名稱 -
{project}- 您的團隊專案名稱,或完全省略 /{project} ,以進行跨專案查詢
-
{teamname}- 顯示CFD數據的小組名稱
-
{startdate}- 針對指定日期或之後完成的專案啟動報表,格式為:YYYY-MM-DDZ。 例如:2022-04-01Z代表 2022 年 4 月 1 日。 不要以引號括住。
查詢明細
下表描述查詢的每個部分。
查詢部分
說明
$apply=filter(
Start filter() 子句。
Team/TeamName eq '{teamname}'
返回特定的小組的項目。
and BoardName eq 'Stories'
退回故事待辦清單上的項目。 您可以指定其他待辦項目名稱,例如 Epics 或 Features。 指定對應至您專案選取之流程的待辦工作層級。
and DateValue ge {startdate}
傳回指定日期或之後的數據, 例如 2022-04-01Z 代表 2022-April-01 2019-July-01。
)
關閉 filter() 子句。
/groupby(
Start groupby() 子句。
(DateValue, ColumnName, LaneName, State, WorkItemType,AssignedTo/UserName,Area/AreaPath),
分組依據 DateValue (用於趨勢), ColumnName以及您想要報告的任何其他屬性。 我們在此包含 LaneName,用來啟用泳道篩選。
aggregate($count as Count)
匯總並計數工作項目。
)
關閉 groupby() 子句。
(選擇性地)重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。
展開 Power Query 編輯器中的欄位
從 Power Query 編輯器,選擇具有您要轉換數據的查詢。 針對CFD圖表,您必須展開 Area、Iteration 和 AssignedTo 欄。 若要瞭解如何,請參閱下列各節的 轉換分析數據,以產生Power BI報表並展開數據行。
(選擇性)重新命名欄位
展開數據行之後,您可能會想要重新命名一或多個字段。 例如,您可以將資料列 AreaPath 重新命名為 Area Path。 若要瞭解如何,請參閱 重新命名數據行欄位。
關閉查詢並套用您的變更
完成所有數據轉換後,請從 常用 功能表中選擇 關閉及套用 來儲存查詢,並返回 Power BI 的 報表 索引標籤。
建立堆疊分區圖
在下列範例中,查詢已重新命名為 CFD,但未重新命名任何數據行。
在 Power BI 中,選擇 [視覺效果] 中的 [堆疊區域圖]。
將 新增
DateValue至 Axis ,然後按下滑鼠右鍵DateValue並選取DateValue,而不是Date Hierarchy。新增
Count至 值。新增
ColumnName至 圖例。在 [ 篩選] 窗格中,展開
ColumnName,然後只選取您想要出現在圖表上的值。 例如,您可能想要取消選取 新增、建議、完成 或 已關閉。
範例報表會依字母順序顯示數據行。 不過,慣用的順序是根據數據行順序或漸進順序來排序數據。
依漸進式順序排序數據行
若要依照面板上特定順序排序圖表數據行,請執行下列步驟:
- 根據下列查詢,在Power BI中建立新的查詢。 完成後,請將查詢重新命名為 ColumnOrder。
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 OData 查詢的範例報表概觀。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/BoardLocations?"
&"$apply=filter( "
&"Team/TeamName eq '{teamname}' "
&"and BoardName eq 'Stories' "
&"and IsCurrent eq true "
&") "
&"/groupby ((ColumnName,ColumnOrder)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
以正確的順序排序報表
在 Power BI 中展開 ColumnOrder 查詢,然後選取
ColumnName。選取 [ 資料行工具 ],然後 依資料行 排序,然後選擇
ColumnOrder。
選取 [模型] 功能表,然後 管理關聯性。 確定
CFD.ColumnName與ColumnOrder.ColumnName之間有關聯性。 這種關係可能是自動偵測到的。
在上述建立的報表中,於圖例中,將 替換為
CFD.ColumnName。報表會按照儀表板使用的相同順序排序欄位來刷新。
注意
如果任何工作項目都位於已刪除之後的數據行中,則會在上述報表中顯示為「空白」。