转载来自: http://www.bridata.ca/blog/?p=422
Microsoft 随着 SQL Server 2008 R2 August CTP 发布了最新的面向终端用户的报表写作工具:Report Builder 3.0 – 以下简称SSRB。这个工具给非程序开发人员提供了一个功能强大、灵活和非常容易使用的报表写作平台,除了支持丰富的可视化的数据图表和数据测量图像外,还增加了对地理关联信息的支持 – 即数据地图分布。这个功能可以根据与地理位置相关的数据,连接到数字地理信息系统,在地图上显示与地理位置相关的信息。
SSRB 支持三种式的空间数据源:Map Gallery, ESRI shapefile, SQL Server spatial query。其中 Map Gallery 使用了美国人口普查局(U.S. Census Bureau) 的地图格式,美国地图是SSRB 唯一内置的Map Gallery中的格式;ESRI 格式是GIS系统应用非常广泛的地理信息文件格式,网上有很多免费的资源可供下载;SQL Server spatial query, 直接使用存储在SQL Server SQLGeometry 或 SQLGeography 字段类型中的空间数据,除非是非常特殊的应用,一般用户很少得到可用的SQLGeometry 和 SQLGeography 信息。
下面我用一个例子来显示一个包含中国地图的报表,在这个例子中我使用了ESRI格式的数字地图。
- 首先我们需要下载一个ESRI 文件格式的中国地图,这是官方的CDC亚洲地图网址:http://www.cdc.gov/epiinfo/asia.htm。下载安装一个中国地图,在安装目录中就会有一个ch.shp文件,这是即将使用的中国地图格式文件。可以到ESRI中国官方网站去获取更多更详细的中国地图资料,ESRI中国有限公司: http://www.esrichina-bj.cn/.
- 数字题图有一个空间数据字段(Spatical Data Field) 来代表特定的区域,而我们的SQL 表里需要建立一个相应的分析数据字段(Analytical Data Field)与之相对应,SQL 表里还应该有一个数据字段用于表示相对应于分析字段的值。
- 建立一个SQL Server 数据表,表里包含以中国省区分类的数据,比如建立如下的一个包含各省客户的 ChinaCustomer 数据表,在下面的表里,ProvinceCode 就是分析数据字段,它的值需要和地图文件中的空间数据字段相对应才能显示Customers字段中的值:
- 用类似下面的数据填充ChinaCustomer表:
INSERT INTO dbo.ChinaCustomer (ProvinceCode,ProvinceName,Customers) VALUES (‘Beijing’,‘北京’,3500)
…
INSERT INTO dbo.ChinaCustomer (ProvinceCode,ProvinceName,Customers) VALUES (‘Heibei’,‘河北’,10000)
- 打开 MS Report Builder 3
- 修改报表标题就属性等
- 单击 [Map] 图标打开 Map 向导
- 选择 ESRI Shapefile, 并选择安装了的ch.shp 文件
- 调整地图比例
- 选择地图可视效果- 选择彩色数据分析图
- 建立一个到ChinaCustomer的数据链接
- 在设计查询页面中选择全部的ChinaCustomer 的字段,如下图所示:
关于在Report Builder 3中使用数字地图的详细介绍,请参考我们的视频教学 – 使用Report Builder 3.0 建立地理信息。
Report Builder 3 下载地址:http://go.microsoft.com/fwlink/?LinkID=160384
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8111049/viewspace-678093/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8111049/viewspace-678093/