共用方式為


加入和修改工作項目欄位以支援報告

工作項目欄位可用來追蹤工作項目類型的資料、定義查詢的篩選準則,以及用於報表中。 任何要在報表中顯示的欄位 (系統欄位除外),都必須定義在欄位要追蹤之工作項目類型的定義檔中。 每個工作項目類型的系統欄位會自動定義。 不過,系統欄位必須包含在工作項目表單中,才能支援資料輸入。

若要支援報告,您可以加入欄位或變更現有欄位的屬性。 當您加入或修改欄位時,應該套用有系統的命名慣例,確保資料會以邏輯方式分組成 SQL Server Analysis Services Cube 中的資料夾。

本主題內容

  • 最佳做法

  • 使用現有的欄位

  • 列出定義在 Team 專案集合中的欄位

  • 可報告欄位的屬性

  • 變更欄位的可報告屬性

  • 加入支援報告的欄位

  • 驗證對可報告欄位屬性所做的變更

  • 指派報告參考名稱的最佳做法

  • 定義在 MSF 流程範本中的可報告欄位

最佳做法

在加入或修改欄位之前,請先檢閱下列最佳做法:

  • 判斷已定義在包含 Team 專案之 Team 專案集合中的欄位是否可用。 使用現有的欄位可支援跨專案的報告作業。

  • 判斷已定義在 Visual Studio Team Foundation Server 部署之另一個專案集合中的欄位是否可用。使用現有的欄位可支援跨專案的報告作業。

  • 每個專案集合不可有超過 1,024 個欄位,而且 Team Foundation Server 部署的所有專案集合不可有超過 1,024 個唯一的可報告欄位。 合併欄位計為一個可報告欄位。

  • 制定在流程範本、Team 專案或專案集合中加入及修改欄位的標準程序和檢閱流程。

  • 在標示報告欄位時,使用有系統的命名慣例。 在 Team Foundation Server 部署的所有 Team 專案集合中有系統地指派參考名稱,可確保更一致、可用的倉儲和 Cube 結構描述,而且可避免倉儲中的結構描述衝突。 如需詳細資訊,請參閱解決資料倉儲中發生的結構描述衝突

    您最多可以將四個標籤屬性指派給工作項目欄位:

    注意事項注意事項

    定義在 Microsoft Solutions Framework 流程範本的欄位不會被指派報告名稱或報告參考名稱。 預設會使用參考名稱和名稱屬性。

    • name: 出現在工作項目查詢下拉式功能表中的欄位易記名稱。 易記名稱在定義於 Team 專案的所有欄位中必須是唯一的。 此外,易記名稱可能不同於工作項目表單上指派給欄位的顯示標籤。 如需詳細資訊,請參閱 Control XML 項目參考

    • refname: 指派給欄位的唯一標籤,用以區別此欄位與定義在 Team 專案集合中的其他所有欄位。 指派給 refname 的值無法變更。

      如需欄位易記名稱與參考名稱的需求和限制,請參閱工作項目追蹤物件的命名慣例

    • reportingname: 選擇性屬性。 用來識別報表中欄位的名稱。 如果未明確設定,則會使用指派給 name 屬性的值。

    • reportingrefname: 選擇性屬性。 指派給可報告欄位的唯一標籤,用以區別這個可報告欄位與定義在所有 Team 專案集合中的其他所有可報告欄位。 如果未明確設定,則會使用指派給 refname 屬性的值。 如需建議的命名慣例,請參閱本主題稍後的指派報告參考名稱的最佳做法。

      注意事項注意事項

      報告參考名稱只在樞紐分析表或 Analysis Services Cube 中看得到。

使用現有的欄位

如果已定義的欄位符合您要追蹤及回報的資訊,則應該使用此欄位。 若要使用現有的欄位,請執行下列步驟:

  • 識別要使用的欄位。 使用 witadmin listfields 命令,識別定義在所有專案集合中的欄位及其屬性。 如需詳細資訊,請參閱本主題後面的列出定義在 Team 專案集合中的欄位。

  • 判斷欄位是否為可報告的,以及可報告屬性是否符合報告需求。

  • 如果欄位不是可報告的,利用 witadmin changefield 變更使用欄位之專案集合的可報告屬性。 如需詳細資訊,請參閱本主題後面的變更欄位的可報告屬性。

  • 針對未定義欄位的專案集合,將欄位加入至要用來追蹤資料之工作項目類型的 XML 定義檔中。 如需詳細資訊,請參閱本主題後面的加入支援報告的新欄位。

列出定義在 Team 專案集合中的欄位

您可以使用 witadmin listfields 命令列出欄位及其屬性。 您可以列出指定的欄位或定義在專案集合中的所有欄位。 witadmin listfields 命令的語法如下:

witadmin listfields /collection:CollectionURL /n:RefName 

如需詳細資訊,請參閱列出工作項目欄位和檢視指派給欄位的屬性

可報告欄位的屬性

可報告欄位的 reportable 屬性值為 Detail、Dimension 或 Measure。 下列屬性決定工作項目欄位匯出及處理至資料倉儲資料庫的方式:

  • reportingtype: 若要在報表中包含欄位,您必須將下列其中一個值指派給 reportable 屬性:

    • 指派 Detail,將欄位匯出至關聯式倉儲資料庫,但不匯出至 Cube。 如下列範例所示,Detail 型別只適用於 Integer、Double、String 或 DateTime 欄位:

      <FIELD refname="MyCorp.Summary" name="Summary" type="String" reportable="detail">
      
    • 指派 Dimension,將欄位匯出至關聯式倉儲資料庫和 Cube。 如下列範例所示,Dimension 只適用於 Integer、Double、String 或 DateTime 欄位。 這個值可用來包含用來篩選報表的欄位 (例如,擁有有效值清單的欄位)。

      <FIELD refname="MyCorp.Category" name="Category" type="String" reportable="dimension">
      
    • 指派 Measure,支援在 Cube 中處理已預先計算好的值。 Measure 型別只適用於 Integer 和 Double 欄位。

      將 Measure 指派為 reportingtype 時,同時也必須將 sum 指派為 formula,如下列範例所示:

      <FIELD refname="MyCorp.Cost" name="Cost" type="Integer" reportable="measure" formula="sum">
      
  • reportingrefname: 您可以將不同的參考名稱指派給標示為可報告欄位。 如果未指定值,則會使用指派給 refname 屬性的值。

    您可以使用此屬性合併或分枝報表內含的欄位。 若要合併有不同的參考名稱和定義於不同的專案集合中的兩個欄位,您可以指派相同的 reportingrefname 給這兩個欄位。 若要分離有相同的參考名稱但定義於不同的專案集合中的兩個欄位,您可以指派不同的 reportingrefname 給每個欄位。

    您應該盡可能合併欄位,將倉儲中的欄位數目減到最少,並保持不超過 1024 個可報告欄位數上限。 您可以使用合併欄位產生跨群組報表。

  • reportingname: 您可以將不同的標籤指派給報表中用來顯示資料的欄位。 如果未指定值,則會使用指派給 name 屬性的易記名稱。 指派給 reportingname 的值會出現在 Cube 中。 指派給 reportingrefname 的值則不會出現。

    重要事項重要事項

    您應該使用最佳做法標示報告欄位,讓這些欄位在樞紐分析表中位於同一個群組。 如需詳細資訊,請參閱指派報告參考名稱的最佳做法。

變更工作項目欄位的可報告屬性

您可以變更已定義在專案集合中之欄位的屬性指派,藉此將現有欄位變更為可報告欄位。 現有欄位是定義在一個或多個工作項目類型定義中。 此外,您可以變更會決定資料倉儲中如何處理欄位的所有屬性。

您可以使用下列步驟順序來變更欄位的屬性指派:

  1. 您可以使用 witadmin changefield 命令來變更欄位的屬性指派。 針對 Team 專案集合執行這個命令。 使用下列語法:

    witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/noprompt]
    

    若要將現有欄位變更為可報告欄位,請變更 reportingtype。 例如,若要讓 AW.Common.TeamPriority 欄位可用於報表篩選,請將 Dimension 值指派給它:

    witadmin changefield /collection:http://AdventureWorksServer:8080/AWTeam/Collection1 /n:AW.Common.TeamPriority /reportingtype:dimension 
    

    如需詳細資訊,請參閱管理工作項目欄位 [witadmin]

  2. (選擇性) 如果您有一個以上的專案集合,您可能想要對定義於集合中的工作項目欄位進行相似的變更。 若要在匯出及處理資料至資料倉儲資料庫時避免結構描述衝突,您必須將相同值指派給所有集合的這些屬性:

    • 欄位型別 (無法變更現有欄位的這個欄位值)。

    • 報告類型。

    • 報告名稱。

    如需詳細資訊,請參閱解決資料倉儲中發生的結構描述衝突

  3. 對要用於報告的工作項目欄位進行所有變更之後,您必須處理資料倉儲資料庫。 您可以使用 ProcessWarehouseProcessAnalysis Web 服務,這些 Web 服務可透過 WarehouseControlWebService 存取。

    這個步驟可確保當您變更欄位屬性時報表使用者不會看到錯誤。 如需詳細資訊,請參閱手動處理 Team Foundation Server 的資料倉儲和 Analysis Services Cube

    如需詳細資訊,請參閱管理工作項目欄位 [witadmin]

加入支援報告的欄位

您可以在一個或多個工作項目類型的定義中加入欄位。 在加入欄位時,您必須在欄位要支援報告的所有工作項目類型中加入相同的欄位項目定義。 如果您要讓欄位支援跨專案報告,則必須在要回報的所有 Team 專案的所有工作項目類型中加入此欄位。

如需詳細資訊,請參閱下列主題:

驗證對可報告欄位屬性所做的變更

您可以視需要處理資料倉儲,然後檢查報表是否更新,藉此驗證對可報告欄位屬性所做的變更。 或者,您可以等候倉儲配接器工作執行。 根據預設,關聯式資料庫每隔幾分鐘處理一次。 不過,Cube 預設每兩小時處理一次。

注意事項注意事項

如需 WarehouseControlWebService 的詳細資訊,請參閱手動處理 Team Foundation Server 的資料倉儲和 Analysis Services Cube

  1. 使用 ProcessWarehouse WarehouseControlWebService,視需要處理關聯式資料倉儲。

  2. 使用 ProcessAnalysisDatabase WarehouseControlWebService,視需要處理 Cube。

  3. 確認報表已更新。 透過儀表板或報表管理員檢視報表。 如需詳細資訊,請參閱儀表板 (Agile)報表 (Agile)

指派報告參考名稱的最佳做法

您會想要為報告參考名稱指派標籤,以便在樞紐分析表和 Cube 中輕鬆找到欄位。 您可以套用有系統的命名慣例,以邏輯順序將欄位分組,來達到此目的。 此外,如果欄位不是以實用方式分組,您可以變更欄位的報告參考名稱。

套用有系統的命名慣例越來越重要,因為定義在所有專案集合中所有 Team 專案的所有可報告資料都會寫入至單一關聯式資料倉儲。 接著會處理該倉儲中的資料,並且寫入至 Cube。 因為每個專案集合的工作項目欄位是分別管理的,所以可能套用不同的標籤,導致一組欄位未正確組織而無法支援報表撰寫作業。

可報告型別為維度的工作項目欄位會對應於 Cube 中的維度屬性。 依據流程範本或工作項目類型定義中指派的報告參考名稱,將維度屬性組織到各資料夾中。 發生的對應類型如下:

  • 有 "System" 前置詞的欄位是內建的,直接列在 [工作項目] 維度 (前面加上 "Work Item") 底下。

  • 其他欄位放在名稱對應於參考名稱前置詞的資料夾底下。 例如,有 "Microsoft.VSTS.Common" 前置詞的欄位會列在標示為 "Microsoft VSTS Common" 的資料夾底下。

如下圖所示,針對共用相同前置詞之欄位所組成的每個群組,都會新增資料夾。

OLAP 資料 Cube 中的資料夾結構

下表列出參考名稱開頭為 "System",且列在樞紐分析表中具有 "Work Item" 前置詞的欄位。這些欄位直接放在 [工作項目] 維度底下。 其他所有欄位都放在名稱對應於參考名稱前置詞的資料夾底下。

注意事項注意事項

不使用 SQL Server Analysis Services Enterprise 版本的部署無法存取該版本所提供的轉譯功能。 在這些部署中,欄位在 Cube 中由其完整參考名稱識別,並將 '.' 取代為 '_' (例如,"System_Id" 和 "System_Title")。

樞紐分析表和 Cube 中的名稱

參考名稱

資料型別

Work Item.Area Path

System.AreaPath

TreeType

Work Item.Assigned To

System.AssignedTo

String

Work Item.Changed By

System.ChangedBy

String

Work Item.Changed Date

System.ChangedDate

DateTime

Work Item.Created By

System.Created By

String

Work Item.Created Date

System.CreatedDate

DateTime

Work Item.ID

System.Id

Integer

Work Item.Iteration Path

System.IterationPath

TreeType

Work Item.Previous State

System.PreviousState

String

Work Item.Reason

System.Reason

String

Work Item.Rev

System.Rev

Integer

Work Item.State

System.State

String

Work Item.Title

System.Title

String

Work Item.Work Item Type

System.WorkItemType

String

下表列出在樞紐分析表中 [工作項目] 維度底下標示為 "Microsoft.VSTS.Common" 的資料夾中的欄位。 這些欄位的參考名稱開頭為 "Microsoft.VSTS.Common"。

樞紐分析表和 Cube 中的名稱

參考名稱

資料型別

Work Item.Activated By

Microsoft.VSTS.Common.ActivatedBy

String

Work Item.Activated Date

Microsoft.VSTS.Common.ActivatedDate

DateTime

Work Item.Closed By

Microsoft.VSTS.Common.ClosedBy

String

Work Item.Closed Date

Microsoft.VSTS.Common.ClosedDate

DateTime

Work Item.Created By

Microsoft.VSTS.Common.CreatedBy

String

Work Item.Created Date

Microsoft.VSTS.Common.CreatedDate

DateTime

Work Item.Resolved By

Microsoft.VSTS.Common.ResolvedBy

String

Work Item.Resolved Date

Microsoft.VSTS.Common.ResolvedDate

DateTime

Work Item.Resolved Reason

Microsoft.VSTS.Common.ResolvedReason

String

Work Item.Priority

Microsoft.VSTS.Common.Priority

Integer

Work Item.Severity

Microsoft.VSTS.Common.Severity

String

Work Item.Stack Rank

Microsoft.VSTS.Common.StackRank

Double

定義在 MSF 流程範本中的可報告欄位

下表列出定義在 Microsoft Solutions Framework (MSF) 流程範本中的欄位,以及欄位的預設指派。 這些欄位只出現在以 MSF 5.0 版本流程範本建立的 Team 專案中。 只列出設為可報告的欄位。

  • 詳細欄位

  • 維度欄位

  • 量值欄位

如需定義在 MSF 流程範本中之欄位的完整清單,請參閱使用系統欄位和 MSF 流程範本所定義的欄位。 如果您已升級 Team 專案,則必須執行其他工作,才能使用其中部分欄位。 如需詳細資訊,請參閱更新已升級的 Team 專案以存取新功能

詳細欄位

欄位名稱

說明

參考名稱

資料型別

自動化狀態

測試案例的狀態。 您可以指定下列各值:

  • 未自動化

  • 已規劃

Microsoft.VSTS.TCM.AutomationStatus

String

維度欄位

欄位名稱

說明

參考名稱

資料型別

ID

指派給工作項目的唯一識別項。 工作項目 ID 在 Team 專案集合中定義的所有 Team 專案和工作項目間是唯一的。

System.Id

Integer

標題

簡短描述,用於摘要說明這是何種工作項目,並協助使用者將這個工作項目與清單中的其他工作項目區分。

System.Title

String

Team 專案

這個工作項目所屬的 Team 專案。

System.TeamProject

String

工作項目類型

此工作項目類型的名稱,

System.WorkItemType

String

區域

將工作項目依產品功能或小組區域分組。 區域必須是專案階層架構中的有效節點。

System.AreaPath

TreePath

反覆項目

將工作項目依具名的衝刺或時間週期分組。 反覆項目必須是專案階層架構中的有效節點。

System.IterationPath

TreePath

變更者

最近一次修改工作項目的小組成員名稱。

System.ChangedBy

String

活動

執行工作所需的活動類型。

Microsoft.VSTS.Common.Activity

String

修訂

指派給工作項目歷程修訂的數字。

System.Rev

Integer

到期日

預測工作完成的到期日。

Microsoft.VSTS.Scheduling.DueDate

DateTime

完成日期

排程表示工作會完成的日期和時間。

Microsoft.VSTS.Scheduling.FinishDate

DateTime

開始日期

排程表示工作會開始的日期和時間。

Microsoft.VSTS.Scheduling.StartDate

DateTime

發現於

發現 Bug 的產品組建編號 (也稱為修訂編號)。

Microsoft.VSTS.Build.FoundIn

String

整合組建

含有程式碼或可修正 Bug 的產品組建編號。

Microsoft.VSTS.Build.IntegrationBuild

String

指派給

目前擁有工作項目的小組成員名稱。

System.AssignedTo

String

原因

工作項目處於目前狀態的原因。 這些都是對於工作項目的狀態和類型特有的值。 測試案例或共用步驟不會有這個追蹤欄位。

System.Reason

String

狀態

工作項目的目前狀態。 每一個工作項目類型都有專用的狀態有效值。

System.State

String

啟動者

啟動或重新啟動工作項目的小組成員名稱。

Microsoft.VSTS.Common.ActivatedBy

String

啟動日期

啟動或重新啟動工作項目的日期和時間。

Microsoft.VSTS.Common.ActivatedDate

DateTime

關閉者

關閉工作項目的小組成員名稱。

Microsoft.VSTS.Common.ClosedBy

String

關閉日期

工作項目的關閉日期和時間。

Microsoft.VSTS.Common.ClosedDate

DateTime

建立者

建立工作項目的小組成員名稱。

Microsoft.VSTS.Common.CreatedBy

String

建立日期

工作項目的建立日期和時間。

Microsoft.VSTS.Common.CreatedDate

DateTime

解決者

解決 Bug 或使用者本文的小組成員名稱。

Microsoft.VSTS.Common.ResolvedBy

String

解決日期

Bug 或使用者本文的解決日期和時間。

Microsoft.VSTS.Common.ResolvedDate

DateTime

解決原因

Bug 獲得解決的原因 (例如,已修正)。

Microsoft.VSTS.Common.ResolvedReason

String

優先權

與業務相關之 Bug、問題、工作或測試案例的主觀評比。 您可以指定下列各值:

  • 1:若未成功解決工作項目,產品便無法發行,應儘速予以處理。

  • 2:若未成功解決工作項目,產品便無法發行,但不需要立即予以處理。

  • 3:根據資源、時間和風險來選擇是否要解決工作項目。

Microsoft.VSTS.Common.Priority

Integer

順序

相較於同類型的其他工作項目,對於使用者本文、工作、問題或 Bug 的主觀評比。 指派較低數字的項目應該在指派較高數字的項目之前修正。

Microsoft.VSTS.Common.Rank

Double

本文點

可擷取使用者本文大小的主觀測量單位。 如果您指派給使用者本文的點愈多,則表示實作此使用者本文所需的工作愈多。

Microsoft.VSTS.StoryPoints

Double

風險

對於是否能成功完成使用者本文的相對不確定性主觀評比。 您可以指定下列各值:

  • 1 - 高

  • 2 - 中

  • 3 - 低

Microsoft.VSTS.Common.Risk

String

嚴重性

Bug 對專案之影響的主觀評比。 您可以指定下列各值:

  • 1 - 嚴重

  • 2 - 高

  • 3 - 中

  • 4 - 低

Microsoft.VSTS.Common.Severity

String

到期日

預測問題完成的日期。 此欄位僅適用於問題工作項目。

Microsoft.VSTS.Scheduling.DueDate

DateTime

量值欄位

欄位名稱

說明

參考名稱

資料型別

原始評估

完成工作所需的時數。

Microsoft.VSTS.Scheduling.OriginalEstimate

Double

剩餘

剩餘工作時數。

Microsoft.VSTS.Scheduling.RemainingWork

Double

已完成

已花在處理工作的時數。

Microsoft.VSTS.Scheduling.CompletedWork

Double

請參閱

參考

管理工作項目欄位 [witadmin]

概念

使用工作項目欄位

建立、自訂和管理 Visual Studio ALM 的報表

其他資源

手動處理 Team Foundation Server 的資料倉儲和 Analysis Services Cube

解決資料倉儲中發生的結構描述衝突

定義工作項目欄位