使用自定義分析檢視建立依小組篩選的Power BI報表

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

分析檢視支援欄位準則,以根據小組篩選工作專案。 不過,沒有小組特定的欄位可支持篩選 Power BI 報表。 雖然每個工作專案都與特定區域路徑相關聯,但區域路徑可以與多個小組相關聯。 由於此一對多關聯,Analytics 不會提供小組特定的欄位。

不過,您仍然可以使用本文中提供的步驟來篩選小組。 一般程式會介紹 Analytics 檢視Teams 實體之間的對應數據表。

注意

以類似的方式,在分析檢視中判斷工作專案的面板特定數據行時存在限制。 不過,由於相依於檢視中所選歷程記錄數據的相依性,本文中提供的指引不適用於面板位置。

必要條件

  • 若要檢視分析數據和查詢服務,您必須是具有基本存取權或更高許可權的項目成員。 根據預設,所有專案成員都會獲得查詢分析的許可權,並定義分析檢視。
  • 若要瞭解有關服務與功能啟用和一般數據追蹤活動的其他必要條件,請參閱 存取分析的許可權和必要條件。

將 [AreaSK] 欄位新增至您的分析檢視

預設 Analytics 檢視中包含的預設欄位不包含在 Power BI 中建立關聯性對應所需的欄位。 使用下列步驟,將對應數據表介紹至您的模型,並建置必要的關聯性,以支援小組篩選。

  1. 編輯 您的分析檢視。
  2. 在 [ 欄位] 索引標籤中 ,新增 AreaSK 欄位。
  3. 儲存更新的檢視。
  4. 在 Power BI Desktop 中載入與分析檢視相關聯的 Power BI pbix 檔案。
  5. 重新整理檢視,並確認 [AreaSK ] 欄位如預期般出現。

新增小組的數據表

下一個步驟是將 Teams 實體新增至 Power BI 數據模型,並產生必要的對應數據表,以在 Power BI 中建立關聯性。 此程式需要您透過 Power Query 編輯器 新增三個查詢。

  1. 在 Power BI Desktop 中載入與檢視相關聯的 Power BI pbix 檔案。

  2. 選擇 [ 取得數據]。

  3. 選取 [ 空白查詢] 選項。

    空白查詢

  4. 開啟 進階編輯器

    進階編輯器

  5. 新增下列查詢程序代碼,取代組織資訊和小組名稱,以符合您的 Analytics 檢視。

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Teams?$select=TeamName,TeamSK&$filter=TeamName eq '{TeamName1}' or TeamName eq '{TeamName2}"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"TeamName", "TeamSK"})
    in
        #"Select columns"
    
  6. 將查詢重新命名為 Teams

    將查詢名稱變更為Teams

  7. 從 [ 首頁 ] 索引標籤中,選擇 [ 新增來源 ] 以新增另一個空白查詢,並將它重新命名為 [區域]。

  8. 開啟 進階編輯器 並新增下列查詢程序代碼,並取代組織資訊以符合您的檢視。

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Areas?$select=AreaName,AreaSK"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"AreaName", "AreaSK"})
    in
        #"Select columns"
    
  9. 從 [ 首頁 ] 索引標籤中,選擇 [ 新增來源 ] 以新增另一個空白查詢,並將它重新命名為 AreaToTeam

  10. 開啟 進階編輯器 並新增下列查詢程序代碼,並取代組織資訊以符合您的檢視。

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Areas?$select=AreaSK&$expand=Teams($select=TeamSK)"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"AreaSK", "Teams"}),
        #"Expand Teams" = Table.ExpandTableColumn(#"Select columns", "Teams", {"TeamSK"}, {"TeamSK"})
    in
        #"Expand Teams"
    

    重要

    新增三個查詢的程式僅適用於對應至1,000個小組或更少團隊的區域路徑。

  11. 在 [首頁] 索引標籤上,選擇 [ 關閉及套用]。

    Power BI Desktop、Home、Close & Apply

  12. 接下來,選擇 [重新整理] 以將AreaSK新增至檢視。

建立 Power BI 關聯性對應

最後一個步驟是在Power BI中建立必要的關聯性。

  1. 開啟 [ 關聯性 ] 檢視。

    開啟 [關聯性] 檢視

  2. 從 [首頁] 索引標籤,開啟 [管理關聯性]。

    Power BI Desktop、Home、管理關聯性

  3. 在 [管理關聯性] 對話框中:
    a. 刪除可能已自動偵測到的任何關聯性。
    b. 選擇 [新增] 可建立檢視區域之間的雙向多對一關聯性。 若要深入瞭解,請參閱 在Power BI Desktop 中使用 DirectQuery 雙向交叉篩選。

    Power BI Desktop,管理關聯性 對話框,檢視到區域

  4. 建立區域與 AreaToTeam 之間的雙向一對多關聯性。

    Power BI Desktop、Home、管理關聯性、Areas 和 AreaToTeam 對應

  5. 建立 AreaToTeamTeams 之間的雙向多對一關聯性。

    Power BI Desktop、Home、管理關聯性、AreaToTeam 和 Teams 對應

  6. 返回 [報表] 檢視,然後開啟 TeamNameTeamSK 欄位的操作功能表,然後選擇 [隱藏] 選項。

    隱藏區域

  7. 隱藏檢視Team 資料表中的對應 SDK。

篩選小組的報表檢視

既然您已就緒對應,您可以根據 Teams篩選報表檢視。 首先,請根據 小組名稱 將交叉分析篩選器新增至報表(視需要移除空白)。

Power BI Desktop、Team Slicer

現在,您可以使用交叉分析篩選器或Power BI中任何其他支持的篩選功能來篩選報表上的所有視覺效果。

Power BI Desktop,依小組篩選的計數