引言
眾所周知,要對TFS進行深入的圖表分析,往往需要依賴於SQL Server Analysis Service和SQL Server Reporting Service。雖然隨着TFS對敏捷項目的支持,內置了諸如累積流圖、燃盡圖等快捷圖表;並且在最新的版本中還可以在儀表盤和查詢中快捷的定義一些匯總圖表。但是更復雜的分析還是做不到。
Power BI作為微軟目前極力主推的一個敏捷自助型BI平台,理所當然可以和TFS/VSTS集成起來,對工作項進行全面的分析。
Power BI集成VSTS
如果你使用的是VSTS,那么很幸運,微軟已經讓Power BI和VSTS無縫的集成在一起了。你進行一些配置就可以直接使用了。
不過,在開始動手之前,我們來了解一下Power BI和VSTS集成的方式。目前,微軟提供了兩種方式來進行集成:內容包和數據連接器。
第一種,微軟使用內容包(Content Pack)的形式,把針對VSTS進行分析的完整分析模型(表、關系和度量)和一系列的默認報表和儀表盤打包在一起,通過Power BI Service來復用。在運行報表的時候,通過VSTS的REST API來獲取數據更新。
第二種,微軟創建了一個數據連接器(Data Connector),通過訪問VSTS在Azure中托管的一個Analysis Service,以便讓你選擇自己感興趣的數據,並自由的建模和設計可視化報表。
兩者的具體比較如下:
內容包 | 數據連接器 | |
---|---|---|
首次發布時間 | May 27, 2015 | January 9, 2017 |
最后更新時間 | September 2, 2015 | - |
數據源 | Team Services REST API | Analytics Service |
Power BI Service | ![]() |
![]() |
Power BI Desktop | ![]() |
![]() |
可用數據 | ||
工作項-當前狀態 | ![]() |
![]() |
工作項-歷史 | ![]() |
![]() |
工作項-自定義 | ![]() |
![]() |
源代碼 - Git | ![]() |
![]() |
源代碼 - TFVC | ![]() |
![]() |
構建 - XAML | ![]() |
![]() |
包含元素 | ||
表 | ![]() |
![]() |
關系 | ![]() |
![]() |
度量 | ![]() |
![]() |
報表 | ![]() |
![]() |
儀表盤 | ![]() |
![]() |
Power Query函數 | ![]() |
![]() |
認證 | ||
Microsoft Account (Live ID) | ![]() |
![]() |
Azure Active Directory (AAD) | ![]() |
![]() |
OAuth | ![]() |
![]() |
個人訪問令牌 | ![]() |
![]() |
其他賬號 | ![]() |
![]() |
其他 | ||
支持大賬號(工作項超過40萬) | ![]() |
![]() |
支持自定義度量 | ![]() |
![]() |
支持混合其他數據源 | ![]() |
![]() |
使用內容包
- 進入Power BI Service賬號。如果沒有賬號,那么這里申請一個試用賬號:https://powerbi.microsoft.com/en-us/get-started/
- 點擊左下角的“獲取數據”按鈕
- 選擇“服務”,會看到一個Power BI應用的選擇對話框,
- 輸入“Visual Studio Team Services”進行搜索,第一個結果就是我們要找的內容包
- 點擊”立即獲取“,就可用開始安裝了
- 需要輸入VSTS的賬號名稱(即visualstudio.com前面的名稱)和團隊項目名稱,點擊下一步
- 這個時候,會提示用OAuth來登錄VSTS,在彈出的OAuth驗證對話框上點擊確定就可用授權成功
- 到此,VSTS內容包已經安裝到Power BI服務當中了。(不過由於刷新數據稍慢,需要多等一會才看得到數據)
更詳細的說明,見官方文檔:https://powerbi.microsoft.com/en-us/documentation/powerbi-content-pack-visual-studio/(注意不要看中文版的)
使用數據連接器
- 啟動最新版的Power BI Desktop,在起始對話框上點“獲取數據”,或者進入主界面后點“獲取數據”
- 在獲取數據庫對話框中,“聯機服務”找到“Visual Studio Team Services”,點“連接”,點“繼續”
- 和內容包類似,需要輸入VSTS的賬號名稱和團隊項目名稱,可選輸入區域的名稱,點“確定”
- 使用VSTS的賬號進行登錄(依然還是OAuth協議驗證)后,點“連接”
- 到這里,大概率是報錯的,因為我的賬號也沒有被選中啟用“Analytics OData”服務。
更詳細的說明,見官方文檔:https://www.visualstudio.com/en-us/docs/report/powerbi/data-connector-connect
Power BI集成TFS
如果你用的是本地部署的TFS的話,就無法使用Power BI來直接連接TFS了。當然也不是沒有辦法。最直接的就是用Power BI Desktop去連接TFS的數據庫(需要去理解TFS數據庫的數據結構)。
當然一種更加容易的方式,就是充分利用TFS的查詢功能導出數據到Power BI中。具體步驟如下:
- 在TFS中,根據要分析的主題所需的數據,對現有查詢進行自定義或者創建全新的查詢
- 在Excel中連接到這些查詢,具體連接方式見:https://www.visualstudio.com/en-us/docs/work/office/bulk-add-modify-work-items-excel
- 保存查詢得到的數據為xlsx文件
- 在Power BI中從xlsx文件導入TFS的數據,根據需要制作報表。
- 后續要更新數據的時候,先打開xlsx文件,在Team(團隊)欄里面點刷新,然后保存文件;再打開PBIX文件,刷新數據。
當然,這種方式得到的數據,一般是當前狀態信息,沒有包含歷史數據,所以在分析一些趨勢類的報表的時候就需要一些技巧。
在這里,分享一個我根據導出的Bugs數據制作的Bug分析報表(甚至做出了Bug趨勢圖),供大家參考。下載鏈接見:https://zyg.blob.core.windows.net/share/Bug%E5%88%86%E6%9E%90.pbix
這個Power BI報表中,我根據導出的所有Bug數據,進行了基本的KPI分析、基於Tags的分組統計,甚至做出基於日期序列的累積趨勢圖。如下圖所示:
當然,在這里就不展開了,具體的寫法見pbix文件。