列出連結的工作專案範例查詢和報表
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本文說明如何建立報表,列出連結到其他工作專案的工作專案。 例如,下列報表會顯示連結至具有父子連結類型之 User Storys 的功能清單。
如需連結類型和連結工作專案的詳細資訊,請參閱 連結使用者劇本、問題、Bug 和其他工作專案。
其他範例查詢包括列出具有另一個 Bug 重複連結的 Bug,以及列出不包含另一個 Bug 重複連結的 Bug。
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
必要條件
- 存取:至少是具有基本存取權的項目成員。
- 許可權: 根據預設,項目成員具有查詢分析及建立檢視的許可權。
- 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取分析的許可權和必要條件。
範例查詢
提供數個查詢,示範如何篩選連結的工作專案。 所有這些查詢都會 WorkItems
在傳回目前數據時指定實體集。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 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 '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
替代字串和查詢明細
以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization}
為 Fabrikam
,而非 {Fabrikam}
。
{organization}
- 您的組織名稱{project}
- 針對跨項目查詢,您的小組專案名稱或完全省略 “/{project}”{areapath}
- 您的區域路徑。 範例格式:Project\Level1\Level2
。
查詢明細
下表描述查詢的每個部分。
查詢元件
說明
$filter=WorkItemType eq 'Feature'
傳回用戶劇本。
and State ne 'Closed' and State ne 'Removed'
省略 [狀態] 設定為 [已關閉] 或 [已移除的功能]。
and startswith(Area/AreaPath,'{areapath}')
只包含取代的特定區域路徑'{areapath}'
下的功能。
若要依小組名稱進行篩選,請使用 filter 語句 Teams/any(x:x/TeamName eq '{teamname})'
。
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
選取要傳回的欄位。
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
指定要用來展開 AssignedTo
、 Iteration
和實體的 Area
欄位。
Links(
Links
展開實體。
$filter=LinkTypeName eq 'Child'
將連結的工作項目篩選為只有具有 子 連結類型的專案。 其他範例包括 Parent、Child、Duplicate、Duplicate、Duplicate、Affects、Affected。
and TargetWorkItem/WorkItemType eq 'User Story';
只包含連結的用戶劇本。
$select=LinkTypeName;
LinkTypeName
選取要傳回的屬性。
$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)
選取要傳回之連結工作項目的屬性。
)
Links()
關閉 子句。
傳回與相關連結類型連結的用戶劇本
將下列 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 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
傳回由 Teams 篩選的連結用戶劇本
下列查詢與本文先前使用的查詢相同,不同之處在於它會依 Team Name 篩選,而不是區域路徑。
將下列 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 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
傳回具有另一個 Bug 重複連結的 Bug
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
傳回沒有另一個 Bug 重複連結的 Bug
將下列 Power BI 查詢直接複製並貼到 [取得資料>空白查詢] 視窗中。 如需詳細資訊,請參閱 使用 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
(選擇性)重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [ 查詢設定 ] 窗格輸入新名稱即可。
轉換 Power Query 編輯器 中的數據
建立報表之前,您必須展開傳回包含數個字段之記錄的數據行。 在此實例中,您會想要展開下列記錄:
Links
Links.TargetWorkItem
Area
Iteration
AssignedTo
若要瞭解如何展開工作專案,請參閱 轉換分析數據以產生Power BI報表。
(選擇性)重新命名字段
展開數據行之後,您可能會想要重新命名一或多個字段。 例如,您可以將資料列 AreaPath
重新命名為 Area Path
。 您可以在資料表檢視中重新命名它們,或稍後在建立報表時重新命名。 若要瞭解如何,請參閱 重新命名數據行欄位。
在這裡範例中,下列欄位已重新命名:
原始功能變數名稱 | 重新命名 |
---|---|
Links.TargetWorkItem.ID | 目標標識碼 |
LinksLinkTypeName | 連結類型 |
Links.TargetWorkItem.State | 目標狀態 |
Links.TargetWorkItem.Title | 目標標題 |
關閉查詢並套用您的變更
完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。
建立數據表報表以列出連結的工作專案
在 Power BI 中,選擇 [視覺效果] 底下的 [數據表報表]。
依指示給資料行的順序新增下列欄位:
- 標識碼,以滑鼠右鍵按下並選取 [不摘要]
- 州 (縣/市)
- 職稱
- 目標標識碼,以滑鼠右鍵按下並選取 [不摘要]
- 連結類型
- 目標狀態
- 目標標題
範例報表隨即顯示。