惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 朱永光

Dapr云原生应用开发系列6:绑定构建块 Dapr云原生应用开发系列7:工作流集成 Dapr微服务应用开发系列5:发布订阅构建块 Dapr微服务应用开发系列4:状态管理构件块 Dapr微服务应用开发系列3:服务调用构件块 Dapr微服务应用开发系列2:Hello World与SDK初接触 Dapr微服务应用开发系列1:环境配置 Dapr微服务应用开发系列0:概述 利用Azure Functions和k8s构建Serverless计算平台 我如何通过K8S开发认证(CKAD)考试 对Windows桌面应用程序进行UI自动化测试 Service Fabric是什么? 如何把遗留的Java应用托管在Service Fabric中 如何在本地数据中心安装Service Fabric for Windows集群 .NET英文技术文章导读(2017-03-23) .NET英文技术文章导读(2017-02-09) Power BI入门教程 数据分析师的福音——VS 2017带来一体化的数据分析开发环境 如何把Power BI嵌入到Web应用中
当TFS/VSTS遇上Power BI
朱永光 · 2017-09-05 · via 博客园 - 朱永光

引言

众所周知,要对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, 2015January 9, 2017最后更新时间September 2, 2015- 数据源 Team Services REST APIAnalytics ServicePower BI ServicecheckedcheckedPower BI Desktopuncheckedchecked可用数据工作项-当前状态checkedchecked工作项-历史checkedchecked工作项-自定义uncheckedchecked源代码 - Gitcheckedunchecked源代码 - TFVCcheckedunchecked构建 - XAMLcheckedunchecked包含元素checkedchecked关系checkedunchecked度量checkedunchecked报表checkedunchecked仪表盘checkeduncheckedPower Query函数uncheckedchecked认证Microsoft Account (Live ID)checkedcheckedAzure Active Directory (AAD)checkedcheckedOAuthcheckedchecked个人访问令牌uncheckedchecked其他账号uncheckedchecked其他支持大账号(工作项超过40万)uncheckedchecked支持自定义度量uncheckedchecked支持混合其他数据源uncheckedchecked
内容包 数据连接器

使用内容包

  1. 进入Power BI Service账号。如果没有账号,那么这里申请一个试用账号:https://powerbi.microsoft.com/en-us/get-started/
  2. 点击左下角的“获取数据”按钮
  3. 选择“服务”,会看到一个Power BI应用的选择对话框,
  4. 输入“Visual Studio Team Services”进行搜索,第一个结果就是我们要找的内容包
  5. 点击”立即获取“,就可用开始安装了
  6. 需要输入VSTS的账号名称(即visualstudio.com前面的名称)和团队项目名称,点击下一步
  7. 这个时候,会提示用OAuth来登录VSTS,在弹出的OAuth验证对话框上点击确定就可用授权成功
  8. 到此,VSTS内容包已经安装到Power BI服务当中了。(不过由于刷新数据稍慢,需要多等一会才看得到数据)

更详细的说明,见官方文档:https://powerbi.microsoft.com/en-us/documentation/powerbi-content-pack-visual-studio/(注意不要看中文版的)

使用数据连接器

  1. 启动最新版的Power BI Desktop,在起始对话框上点“获取数据”,或者进入主界面后点“获取数据”
  2. 在获取数据库对话框中,“联机服务”找到“Visual Studio Team Services”,点“连接”,点“继续”
  3. 和内容包类似,需要输入VSTS的账号名称和团队项目名称,可选输入区域的名称,点“确定”
  4. 使用VSTS的账号进行登录(依然还是OAuth协议验证)后,点“连接”
  5. 到这里,大概率是报错的,因为我的账号也没有被选中启用“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中。具体步骤如下:

  1. 在TFS中,根据要分析的主题所需的数据,对现有查询进行自定义或者创建全新的查询
  2. 在Excel中连接到这些查询,具体连接方式见:https://www.visualstudio.com/en-us/docs/work/office/bulk-add-modify-work-items-excel
  3. 保存查询得到的数据为xlsx文件
  4. 在Power BI中从xlsx文件导入TFS的数据,根据需要制作报表。
  5. 后续要更新数据的时候,先打开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的分组统计,甚至做出基于日期序列的累积趋势图。如下图所示:

image

当然,在这里就不展开了,具体的写法见pbix文件。