用 Report Builder 创建报表
SQL Server 2008 R2地图向导是Report builder3.0中内嵌的用于导入地图、创建地图、编辑地图以及发布地图的一套可视化的工具。使用地图向导,用户可以轻松地制作出地图相关的报表,并发布供重用。相对于以前的方法,地图向导在便捷性、灵活性、兼容性等方面都有了巨大的改进。
您如果要使用地图向导,首先必须满足以下的条件:
空间数据源。提供空间数据的源的位置或连接,例如,包含空间数据的SQL Server实例和数据库的名称,或是Environmental Systems Research Institute, Inc. (ESRI)形状文件的名称。
空间数据。来自空间数据源,是包含用于指定位置的一系列坐标的字段。
分析数据。用于改变地图显示的分析数据,例如,某个地区的销售额。
匹配字段。定义空间数据和分析数据之间关系的匹配字段,例如,唯一标识每个城市的地区和城市的名称。
空间数据用于显示地图,分析数据用于区分显示地图区域,匹配字段用于将分析数据和空间数据关联起来。
ESRI形状文件是一个文件集,其中的数据符合Environmental Systems Research Institute, Inc. (ESRI)形状文件空间数据格式。该文件集通常包含.shp文件(包含空间数据)和一个支持文件.dbf。
当您将形状文件指定为空间数据源而该文件位于您的本地计算机中时,空间数据将自动嵌入到报表中。若要动态使用ESRI文件中的空间数据,您必须要在Report Builder 3.0中,将.shp文件及.dbf文件一起上载到报表服务器上的同一文件夹,然后链接到作为空间数据源的.shp文件。关于ESRI形状文件如何获得的问题,您可以通过在网上搜索后下载。
1.为了演示地图报表的构建过程,首先需要为地图报表准备数据,您可以通过下面的SQL语句来生成示例数据表和表中的数据。表名为“中国销售额”。
CREATE TABLE [dbo].[中国销售额](
[省编号] [nvarchar](30) NOT NULL PRIMARY KEY,
[省名称] [nvarchar](50) NOT NULL,
[销售额] [money] NOT NULL
)
Go
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Anhui','安徽',9876588886)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Beijing','北京',8876589886)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Shanghai','上海',7876589886)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Gansu','甘肃',987658988)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Heilongjiang','黑龙江',776588886)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Suzhou','苏州',9866587886)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Xinjiang','新疆',997658888)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Fujian','福建',8765996)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Shanxi','山西',9876589)
INSERT INTO [dbo].[中国销售额]([省编号],[省名称],[销售额])
VALUES('Hainan','海南',18765888)
当您成功构建数据表和表中的数据后,通过查询语句SELECT * FROM [dbo].[中国销售额]可以看到下面的结果。如图所示。
2.打开ReportBuilder 3.0,在【入门】界面中单击【新建报表】中的【地图向导】,如果您不希望下次ReportBuilder打开的时候自动弹出该界面,可以勾选【启动时不显示此对话框】项。如图所示。
3.在【选择空间数据来源】界面中,选择【ESRI形状文件】,然后单击下面的【浏览】按钮定位到ch.shp所在的文件,最后单击【下一步】继续。如图所示。
4.在【选择空间数据和地图视图选项】界面中,您可以把图形调到合适的大小,然后单击【下一步】继续。
5.在【选择地图可视化】界面中,选择【颜色分析图】,这种可视化方式是用不同的颜色来区分数据的不同范围,例如可以把销售额为一千万到三千万的地区显示绿色,五百万到一千万的地区显示为黄色,五百万以下的地区显示为红色。您如果选择气泡图,那么可以通过气泡的大小来区分不同的数据区域。单击【下一步】继续。如图所示。
6.在【选择分析数据集】界面中,您要添加一个数据集,该数据集必须包含与您前面选择的空间数据相关的字段。这里选择【添加一个数据集,该数据集包括与您以前选择的空间数据相关的字段】,然后单击【下一步】继续。如图所示。
7.在【选择数据源的连接】界面中,单击【新建】按钮,在弹出的【数据源属性】界面中需要指定数据库的服务器名和数据库名等信息,这个和前面报表的数据源属性操作一致,您可以参考前面的,设定好数据源连接信息后,单击【下一步】继续。
8.在【设计查询】界面中,选择“中国销售额”数据表的全部字段,然后单击【下一步】继续,如图所示。
9.在【为空间数据和分析数据指定匹配的字段】界面中,您可以在【空间数据】一栏中发现【ADMIN_NAME】字段和【分析数据】一栏中的【省编号】字段值是相同的,都是中国各省的拼音,二者就是通过它们建立关系的。所以这里选择【ADMIN_NAME】,然后在【分析数据集字段】中选择【省编号】字段。单击【下一步】继续。如图所示。
10.在【选择颜色主题和数据可视化】界面中,选择【通用】主题,在【用于可视化的字段】中选择【SUM(销售额)】,勾选【显示标签】,设置数据字段为【#ADMIN_NAME】,然后单击【完成】按钮完成地图报表向导的任务。
11.单击报表设计面板的地图图形,在弹出的【地图层】菜单中,单击眼睛图形右边的一个小倒三角形按钮,在弹出的菜单中单击【多边形颜色规则】,如图所示。
12.在【地图颜色规则属性】界面中,单击左边的【分布】项,然后在【更改分布选项以便将数据划分为子范围】项中,选择【相等间隔】选项。设置【子范围的数目】为“4”,【范围开始】为“0”,【范围结束】为“MAX(销售额)”,如图所示,单击【确定】按钮。
13.再次打开【地图颜色规则属性】界面,选择左边的【常规】项,然后确保选择【数据字段】为“SUM(销售额)”,然后定义开始颜色为“红色”,中间颜色为“橙色”,结束颜色为“绿色”。设置好后,单击【确定】按钮继续。如图所示。
14.仿照第11步,在弹出的菜单中单击【多边形属性】项。
15.在【地图多边形属性】界面中,将【标签文本】设置为“省名称”这样就可以在地图上显示中文的地区名称了,设置【可见性】为“True”,最后设置【工具提示】为:
Str(Fix(Sum(Fields!销售额.Value)))+”元”
最后单击【确定】按钮。如图所示。
通过上面的操作,您可以在报表设计面板中看到下图的效果。
16.您可以为报表设置报表的标题和格式等,然后单击【运行】按钮预览该地图报表的效果如下图所示。最后您可以把报表发布到SharePoint网站上以便协作和共享。
通过上面的例子可以看出,地图报表可以把地理数据动态的显示到报表上,通过图形上的不同区域和区域的颜色等可以方便直观的查看各地区的具体情况,例如销售情况。
版权声明: 本文为 InfoQ 作者【JackWangGeek】的原创文章。
原文链接:【http://xie.infoq.cn/article/bec38e8d40fb9ea4cb76e3f67】。文章转载请联系作者。
评论