首页 > 代码库 > TFS自定义报表

TFS自定义报表

1.Team Foundation Server起步

Team Foundation Server(TFS)是这样一种服务器产品,它需要部署到软件开发环境中,这样开发人员就可以使用它提供的各种服务。因为TFS是设计用于大规模团队,因而有两种拓扑结构供选择:双服务器和单服务器。

在单服务器部署中,TFS被安装在Windous 2003 server上,且该机器上已安装了SQL Server 2005数据库服务器、Web服务器IIS以及windows SharePoint Services。这种类型的安装可以满足大量用户需求,并且适用于大部分条件。

双服务器部署将SQL Server 2005 的数据库引擎和分析服务组件分开安装在不同的机器上,这样就可以实现可扩展性(通过增大用于大量用户注册操作的空间以及将处理负载的不同数据仓库安装在不同的机器上实现,这种机器最大可达64位。)

安装了TFS服务器后,客户端可以通过安装Team Explorer来访问服务器。Team Explorer是一组组件,它包括简单版本的Visual Studio 2005(如果是在已经安装了Visual Studio 2005的机器上就仅仅是再添加更多功能)和大量用于微软的Excel和Project的插件,利用Excel和project可以访问存储在Team Foundation Server数据库中的数据。

Team Explorer可用于访问Team Foundation Server的以下特性:

  • 过程引导
  • 工作项跟踪
  • 版本控制
  • 自动生成
  • 报告

PS:本作者理解TFS就是类似于SVN这样的一个东西,就是进行实时数据控制和同步。

2.理解TFS平台上的报表服务器

在TFS(Team Foundation Server)上可以自定报表,在做报表之前不管要了解相关的技术,同时,还要有一个强大心里,只有做的人才知道,每一个数据来得有多不容易。

TFS 中的报表是在 Microsoft SQL Server Reporting Services 和 Microsoft SQL Server Analysis Services 的基础上生成的。除了 Visual Studio,您还需要一些其他工具,如 Business Intelligence Development Studio。

2.1TFS 数据库

我们首先看一下 Team Foundation Server (TFS) 如何存储您可能要在报表中使用的信息。TFS 数据库可以分为三个存储,其中数据始终从左到右流动,如图 1 所示。每个存储针对一个特定的使用类型进行优化,下文会对此进行介绍。

 

3个数据库分别为:联机事务处理数据库、数据仓库、联机分析处理数据库,各数据库功能如下:

2.1.1联机事务处理数据库:实时存储数据,就是我们平时存储数据的地方;

2.1.2数据仓库:仓库中有一个名为 TFSWarehouse 的关系仓库,这是我们做报表时候要用到的数据库,该仓库的数据来源为 OLTP,该数据库可以放在一个完全不同的服务器上,以免查询影响 TFS 的速度。

2.1.3最后一个数据库不是关系数据库,而是联机分析处理 (OLAP) 数据库。您可以通过 Microsoft SQL Server Analysis Services 访问此数据库。

2.2维度、事实、星型和多维数据集

大家请记住这个星型图片,在做报表的时候会用到。因为这是报表的维度视图。

 

2.3安装所需的工具

首先,您需要确保计算机上安装了所有需要的软件。本文假设您已经在可访问的服务器上完全安装了 TFS,所以本节只讲述安装与 TFS 的数据存储进行通信和创建报表所需的工具。您需要下列工具:

  • Visual Studio 2008 Professional Edition 或 Visual Studio 2008Team System
  • SQL Server 客户端工具:
    • 管理工具(可选)
    • Business Intelligence Development Studio
    • SQL Server 联机丛书(可选)
  • Visual Studio 2008 SP1
  • 针对 Windows Vista 的 Visual Studio 2008 SP1 更新(如果使用的是 Windows Vista 操作系统)
  • SQL Server 2005 SP2

Business Intelligence Development Studio(属于 SQL Server 客户端工具的一部分)将所需的工具安装到 Visual Studio 中以创建和自定义 TFS 报表。

创建报表服务器项目

安装所有工具后,您将在 Visual Studio 的新建项目对话框中的“商业智能项目”下看到一组新的项目类型,如图中所示。指定项目名称并选择位置后,请单击模板下的报表服务器项目,然后单击确定

 


正确安装所有工具后,商业智能项目项目类型将出现在 Visual Studio

新项目应该只包含两个空文件夹,如图所示。

 

接下来我将以SQL Sever2008和SQL Sever2005报表服务作对比,进行报表设计。

无论在2008还是在2005上都是一样的步骤创建数据源。
下一步是添加两个数据源:一个连接到关系仓库,一个连接到多维数据集。要添加关系数据源,请执行以下操作:

  1. 右键单击“共享数据源”文件夹,然后单击添加新数据源
  2. 常规选项卡上的名称文本框中,键入TfsReportDS。TFS 中的许多报表都需要此数据源名称,所以当您为 TFS 编写报表时该名称尤其重要。
  3. 类型组合框中,单击 Microsoft SQL Server
  4. 创建连接字符串以连接到承载数据仓库的 SQL Server 实例。单击“编辑”按钮,然后在字段中输入适当的信息即可。您需要选择 Tfs_Warehouse 数据库,并确保管理员已授予您访问该数据库的权限。
  5. 单击“确定”。

接下来,您需要创建连接到多维数据集的数据源。为此,请执行以下操作:

  1. 右键单击“共享数据源”文件夹,然后单击添加新数据源
  2. 常规选项卡上的名称文本框中,键入TfsOlapReportDS 。TFS 中的许多报表都需要此数据源名称,所以当您为 TFS 编写报表时该名称尤其重要。
  3. 在“类型”组合框中,单击“Microsoft SQL Server Analysis Services”。

4.创建连接字符串以连接到承载数据仓库的 SQL Server 实例。单击编辑按钮,然后在字段中输入适当的信息即可。您需要选择Tfs_Analysis 数据库,并确保管理员已授予您访问该数据库的权限。

5.单击确定

 

在2008报表下生成的共享数据源

 

在2005报表下生成的共享数据源

添加报表

如果按照常用方式添加报表,将出现引导您完成创建报表的向导。本文将忽略此向导,所以我们可以直接跳到使用查询。要添加报表,请执行以下操作:

  1. 右键单击“报表”文件夹,指向添加,然后单击新建项目
  2. 添加新项对话框中,单击报表,指定所需的名称,然后单击添加。本文中的示例使用名称“测试报表”。

现在,您应该在“解决方案资源管理器”中的“报表”文件夹下看到了报表。打开报表时(它通常在您添加新报表时自动打开),您将看到一个对话框,其中包含三个选项卡:数据布局预览

生成简单查询

在本节中,我们将使用报表的数据选项卡。要创建连接到多维数据集的新数据集,请执行以下操作:

  1. 数据集组合框中,单击新建数据集。这将打开数据集对话框。
  2. 名称文本框中,键入一个名称。本文中的示例使用名称 dsTest。
  3. 数据源组合框中,单击“TfsOlapReportDS(共享)。此操作会将该查询连接到多维数据集而不是关系仓库。
  4. 单击确定以创建此数据集。


在2005 报表服务器上运行的结果。我们侧重说一下在 SQL Sever2008 R2中报表展示的效果:
当点击数据集属性时,

 

就会出现和SQL Sever2005一样的效果,2005是在设计的时候直接就会出现在设计的窗口,而在2008中要在查询设计器中才会出现我们想要的数据集合(操作的数据):点击查询设计器之后的效果如下图:

你点击试试,看看是不是和我说的一样,没有任何问题吧!这样我们就可以把我们想要的数据进行处理提取,也就是我们前面所说的维度。

 

当点击“…”这个标志时,我们就是在选择数据集,弹出窗口的字母是不是又很眼熟,对啦~就是我们面为大家讲解的维度时候,让大家记住的单词。OK我们任意选择一个维度的数据集。例如:Work Item如下图所示:

这也许就是你想要的集合吧~接着我们确定我们想要的集合,我们就可以点击确定按钮。查看是否数据集合发生了如下的变化:

我们现在已经有了我们想要的数据,那么我们现在就可以按照我们想要的方式进行展示,我们可以在工具箱提取我们想要展现数据的方式,例如我选择用二维表的方式进行展示,布局如下图:

我们点击运行即可,点击之前是不是有点小开心啊~

尽管很丑,是不是和我们想要的结果是一样的,假设我们已经做好的我们满意的报表,下一步我们应该做什么呢?很简单,就是发布让更多的人可以使用:

发布报表

对于部署项目,现在可能是查看如何将报表部署到 TFS Reporting Services 服务器的最佳时机。这实际上非常简单,但并不一定非常明显。Visual Studio 在启动后可以直接将报表部署到您选择的项目中。为此,请执行以下操作:

  1. 在“解决方案资源管理器”中,右键单击报表项目,然后单击属性。此时将显示“属性”窗口。
  2. 确保将 OverwriteDataSources 设置为 False。这样将保留在报表服务器上为您的项目创建的数据源。
  3. 对于 TargetDataSourceFolder,输入您的 TFS 项目名称,因为它是 TFS 在报表服务器上为项目报表创建的文件夹的名称。
  4. 对于 TargetReportFolder,输入您的 TFS 项目名称,后跟任意子文件夹(如果使用文件夹组织报表)。
  5. 对于 TargetServerURL,该内容应该类似于 http://<服务器名称>//reportserver,

 

  1. 设置部署选项后,可以右键单击“解决方案资源管理器”中的报表,然后单击部署将报表添加到服务器(或者对其进行更新)。

到现在为止,我们已经成功在TFS平台上自定义报表啦~~自我掌声鼓励一下!