共用方式為


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

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

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

本主題內容

  • 最佳作法

  • 使用現有的欄位

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

  • 可報告欄位的屬性

  • 變更欄位的可報告屬性

  • 加入支援報告的欄位

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

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

如需定義在初始行程模板的報告欄位的清單,請參閱Visual Studio ALM 的可報告欄位參考

最佳作法

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

  • 判斷已定義在包含 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 

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

可報告欄位的屬性

可報告欄位的 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 存取。

    這個步驟可確保當您變更欄位屬性時報表使用者不會看到錯誤。

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

加入支援報告的欄位

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

如需詳細資訊,請參閱使用工作項目欄位

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

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

注意事項注意事項

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

  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

字串

Work Item.Changed By

System.ChangedBy

字串

Work Item.Changed Date

System.ChangedDate

DateTime

Work Item.Created By

System.Created By

字串

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

字串

Work Item.Reason

System.Reason

字串

Work Item.Rev

System.Rev

Integer

Work Item.State

System.State

字串

Work Item.Title

System.Title

字串

Work Item.Work Item Type

System.WorkItemType

字串

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

樞紐分析表和 Cube 中的名稱

參考名稱

資料型別

Work Item.Activated By

Microsoft.VSTS.Common.ActivatedBy

字串

Work Item.Activated Date

Microsoft.VSTS.Common.ActivatedDate

DateTime

Work Item.Closed By

Microsoft.VSTS.Common.ClosedBy

字串

Work Item.Closed Date

Microsoft.VSTS.Common.ClosedDate

DateTime

Work Item.Created By

Microsoft.VSTS.Common.CreatedBy

字串

Work Item.Created Date

Microsoft.VSTS.Common.CreatedDate

DateTime

Work Item.Resolved By

Microsoft.VSTS.Common.ResolvedBy

字串

Work Item.Resolved Date

Microsoft.VSTS.Common.ResolvedDate

DateTime

Work Item.Resolved Reason

Microsoft.VSTS.Common.ResolvedReason

字串

Work Item.Priority

Microsoft.VSTS.Common.Priority

Integer

Work Item.Severity

Microsoft.VSTS.Common.Severity

字串

Work Item.Stack Rank

Microsoft.VSTS.Common.StackRank

Double

請參閱

參考

管理工作項目欄位 [witadmin]

概念

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

Visual Studio ALM 的工作項目欄位參考

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

其他資源

定義工作項目欄位