引言

众所周知,要对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万)
支持自定义度量
支持混合其他数据源

使用内容包

  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的分组统计,甚至做出基于日期序列的累积趋势图。如下图所示:

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

当TFS/VSTS遇上Power BI的更多相关文章

  1. 2019微软Power BI 每月功能更新系列——2月Power BI 新功能学习

    哈喽,小伙伴们,我是小悦悦,好久不见~ 春节假期结束,新一轮的工作开始,祝大家猪年如意,开工大吉! 今天小悦悦带你走入猪年学习的正确打开方式——Power BI新一年的持续更新学习!   Power ...

  2. 2019 Power BI最Top50面试题,助你面试脱颖而出系列<上>

    距离4月还剩11天, 你是否还在投简历找工作而机会寥寥? 你是否还在四处奔波疲于面试而结果不意? ....... 知否知否, 天下武功唯快不破, 传说江湖有本Power BI 面试真香秘籍, 能助你快 ...

  3. Power BI与Tableau基于Google搜索上的比较

    在数据分析领域里,不少的数据爱好者都会关心什么数据分析产品最好用?最重要的是,很多的企业也特别希望员工能真正知道如何使用这些BI平台以确保公司的投资是值得.同类的文章,小悦也曾发布过,可参考最近< ...

  4. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  5. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  6. Power BI官方视频(3) Power BI Desktop 8月份更新功能概述

    Power BI Desktop 8月24日发布了更新版本.现将更新内容翻译整理如下,可以根据后面提供的链接下载最新版本使用. 1.主要功能更新 1.1 数据钻取支持在线版 以前的desktop中进行 ...

  7. 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???

    在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...

  8. 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法

    上一篇文章一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库中,我们介绍了Power BI Desktop中连接Oracle和Mysql的方法,其实说到底还是驱动的问题, ...

  9. Power BI入门教程

    题记:这篇文章不仅是Power BI的入门教程,同时相对于Qlik Sense进行了简单比较. 最近把一个Qlik Sense的示例应用手动转成了Power BI的应用,把相关步骤和遇到的问题记录如下 ...

随机推荐

  1. Mac下查看node等的安装路径

  2. EC20 R2.1

    1.模块开机成功前WAKEUP_IN. NET_MODE. BT_CTS. COEX_UART_TX(背部焊盘). COEX_UART_RX(背部焊盘) 和WLAN_EN(背部焊盘)引脚禁止上拉. 2 ...

  3. 第七周博客作业<西北师范大学|李晓婷>

    1.助教博客链接:https://home.cnblogs.com/u/lxt-/ 2.本周应批作业0,实批作业0. 3.本周小结:本周我们助教开始准备团队项目题目,下周三之前将会进行作业提交.

  4. 第一个thinkphp项目遇到的知识

    本文是于项目完成后所写,基本是想到 哪写到哪,所以顺序会很乱. 1.在后台处理ueditor这种文本编辑器的时候,会遇到取值问题,如果你想要取纯文本内容:getContentTxt(),没有段落格式: ...

  5. JMeter二次开发环境配置

    本文主要介绍如何在Eclipse中配置JMeter开发环境. 一.下载JMeter源码 1.在JMeter官网下载二进制包和源码包: 解压备用: 二进制解压后文件夹名称为“jmeter_release ...

  6. UEFI+GPT安装WIN7,WIN8/WIN10下安装WIN7双系统

    一.BIOS更改 首先来bios更改:我们知道,uefi+gpt引导虽然出来的时间比较长,但是win7还不能完全的支持,所以在使用uefi+gpt安装win7的时候就会出现各种错误!所以我们在安装Wi ...

  7. vue较深入的知识点

    1 理解何为虚拟节点 虚拟dom是什么? 虚拟dom就是通过js对象来模拟描述dom树,包括tag,attr, children等属性来代表标签名,属性,子元素等.由于不需要有操作dom的方法,所以比 ...

  8. java笔试要点(java多线程)

    一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点.掌握了上图中的各知识点,Java中的多线程也就基本上掌 ...

  9. Doom HDU - 5239 (找规律+线段树)

     题目链接: D - Doom  HDU - 5239  题目大意:首先是T组测试样例,然后n个数,m次询问,然后每一次询问给你一个区间,问你这个这段区间的加上上一次的和是多少,查询完之后,这段区间里 ...

  10. css悬浮提示框

    效果图: code: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...