SQL Server 2008 R2:使地理绘图更简单

日期: 2010-02-28 作者:Robert Sheldon翻译:曾少宁 来源:TechTarget中国 英文

Report Builder 3.0的其中一个最令人兴奋的就是新的地图功能,它可以添加由1个或多个显示地理和分析数据的层组成的地图。这个地图也可以与Microsoft Virtual Earth整合,以实现一个生动的数据可视化工具。   虽然我们可以创建一个只包含地理数据的地图,但是最有效的地图需要同时包含分析数据。例如,我们想要创建一个显示美国一个州每个县的总销售额。

其中销售量代表分析数据,而绘制的县位置代表地理数据。   一个Report Builder地图是由1个或多个层组成的。每一层可以配置为下面的其中一种类型:   多边形——显示区域轮廓,如城市,州或国家。  点——显示地图上具体的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Report Builder 3.0的其中一个最令人兴奋的就是新的地图功能,它可以添加由1个或多个显示地理和分析数据的层组成的地图。这个地图也可以与Microsoft Virtual Earth整合,以实现一个生动的数据可视化工具。

  虽然我们可以创建一个只包含地理数据的地图,但是最有效的地图需要同时包含分析数据。例如,我们想要创建一个显示美国一个州每个县的总销售额。其中销售量代表分析数据,而绘制的县位置代表地理数据。

  一个Report Builder地图是由1个或多个层组成的。每一层可以配置为下面的其中一种类型:

  •   多边形——显示区域轮廓,如城市,州或国家。
  •   点——显示地图上具体的位置点。
  •   线——显示点之间的路径或路线。
  •   块——由Microsoft Virtual Earth(Bing)地图构成的背景。

  当创建一个地图时,我们需要通过一次添加一个层来实现。然后我们可以根据具体的需要配置每一个层。同时,其中配置的选择会根据每一层不同的类型而有所差别,即使其中有许多相似的地方。

  在本系列文章中,我将介绍如何使用Report Builder 3.0创建一个包含多边形层、点层和块层的地图。这个图将显示美国陆地和销售客超过1百万美元的地方的销售人员。除了这3层之外,该地图还将包含显示每个人的销售额及销售对比所需要用到的图例、工具提示和颜色标注。

  创建数据源和数据集

  为了说明这个地图的创建方法,我首先创建一个报表并添加一个数据源和数据集。这个数据源连接到SQL Server 2008 R2的一个本地实例的示例数据库AdventureWorks2008R2。我将该数据源命令为与数据库相同的名称。

  我在一台Windows Server 2008主机上安装了November 2009 CTP版本的SQL Server 2008 R2本地实例。这个安装包括了数据库引擎和SQL Server Reporting Services (SSRS)。我还使用SQL Server 2008 R2版本所带的AdventureWorks示例数据库,并在同一台服务器上安装了November CTP版本的Report Builder 3.0

  在我创建了数据源后,我创建了一个名为SalesPeople的数据集。该数据集使用下面的Transact-SQL语句来查询AdventureWorks2008R2数据源的数据:

  SELECT
  (p.FirstName + ' ' + p.LastName) AS FullName,
  a.City,
  RTRIM(st.StateProvinceCode) AS StateProvinceCode,
  sp.SalesYTD,
  a.SpatialLocation
  FROM
  Sales.SalesPerson sp
  INNER JOIN Person.Person p
  ON sp.BusinessEntityID = p.BusinessEntityID
  INNER JOIN Person.BusinessEntityAddress bea
  ON bea.BusinessEntityID = p.BusinessEntityID
  INNER JOIN Person.Address a
  ON a.AddressID = bea.AddressID
  INNER JOIN Person.StateProvince st
  ON st.StateProvinceID = a.StateProvinceID
  WHERE
  p.PersonType = 'SP'
  AND st.CountryRegionCode = 'US'
  AND SalesYTD > 1000000;

  上面的查询获取一组美国的销售人员,他们的销售客都超过1百万美元。除了查询销售人员的姓名外,我还查询了城市、州、销售总额和每一个销售人员的地理位置。地理位置是从SpatialLocation字段查询的,这个字段配置的是地理数据类型,这是新的SQL Server 2008地理数据类型之一。同时,注意我使用了RTRIM 方法来修剪StateProvinceCode字段。在后面,我将解释为什么需要去掉后面的空格。

  在创建报表并建立数据源和数据集后,我们就可以添加地图到报表中。注意除了地图,报表中还有许多其它的元素,但是这里我只关注于地图。如果想要学习如何添加其它元素到报表中,或者如何创建一个数据源或数据集,请参考Report Builder 3.0 Help或者我之前关于仪表图表的文章。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐

  • SQL Server 数据仓库迅速扩张市场

    微软SQL Server有健壮的产品和较低的成本,该产品已经把自己定位为中端市场数据仓库业务的重要竞争者,并日益向整个数据仓库市场扩张。

  • SQL Server主数据服务:创新还是回流?

    主数据服务(MDS)与SQL Server 2008 R2企业版同时发布,是微软主数据功能的主打产品。与其他MDM产品一样,目的MDS是确保战略级业务决策所需关键信息的准确性。

  • 微软MDS让DBA远离数据困扰

    MDS的目的是帮助维护一份单一的、经过验证的、来自各个源头的权威数据,以防止所有的困扰。你的公司将决定哪些数据由MDS管理。

  • 微软主数据服务将在BI舞台中扮演重要角色

    拿微软的话来说,MDS是涉及用来帮助企业发布并维护一个所谓的“单一版本的事实”。那么这样的特性是如何应用到商业智能场景之中的呢?