vbnet 水晶报表教程:对比FineReport之地图功能

  • 格式:pdf
  • 大小:880.77 KB
  • 文档页数:12

vb.net水晶报表教程:对比FineReport之地

图功能

水晶报表(crystalreport)和FineReport都是很常用的报表工具,这里对比

一下它们的地图功能。水晶报表地图功能如下:

地图功能概述

通过CrystalReports,可以在报表中包含地理地图。地图能帮助更有效地分析报表数据和辨别

趋势。例如,可以创建一个按地区显示销售额的地图。于是可以:

使用五种地图类型之一分析数据。

调整地图的外观和结构(以便更好地确定趋势)。深化地图区域以查看基础数据。

地图类型

“地图专家”还提供了五种基本的地图类型,每一种适合于一种不同的数据分析策略。决定最适

合于报表的地图类型时,应该考虑希望分析的数据类型。例如,如果希望地图为每个地理区域(城

市、州、国家等)显示一个数据项,则可以使用“范围”、“点密度”或“分级”地图。反之,

如果希望地图为每个新地理区域显示一个以上的值,则可以使用“饼图”地图或“条形图”地图。下面是主要地图类型的概述及其最常见的应用。

范围

“范围”地图将数据划分成范围,为每一范围分配一种特定的颜色,然后将地图上的每一地理区

域编以色码以显示范围。例如,可以创建一个根据地区显示“去年销售额”的地图。如果销售额

范围为从0到100,000,可以给此地图五个相等间隔的范围,各个范围间隔为20,000。可以

根据其销售数字用不同深浅的红色(从深红色到浅红色)将每一地区编以色码。然后就可以使用

这个地图查看哪里销售额最高。

在相等间隔情况下,可能会得到这样的不良结果:除可能会有一个地区(例如加利福尼亚)销售

额特别高(比如说98,000)之外,所有地区都在0和20,000之间。这个地图会是对数据非

常扭曲的表现。较好的地图应这样确定范围,比如:0-5000、5000-10000、10000-15000、

15000-20000和20000以上。务必要仔细地对范围进行定义。

注意:每个等分区的结束值作为下一个等分区的起始值进行重复;实际值包含以它开始的分

组中。也就是说,上一个示例中的范围实际上是:0-4999、5000-9999,依此类推。

对范围地图,有四种不同的分配方式。

相等计数

此选项以这样一种方式分配间隔:每一间隔中显示相同的地区数(或者尽可能接近相同的地区

数)。换句话说,此选项将指定间隔以使地图上每一种颜色指定给相同的地区数。根据单个地

区及其汇总值,每一间隔中汇总值的数值量可能相等,也可能不等。

相等范围

此选项以这样一种方式分配间隔:每一间隔中的汇总值在数值上相等。根据单个地区及其汇总

值,每一间隔中的地区数可能相等,也可能不等。

自然中断

此选项使用特定算法分配间隔,该算法尝试使每个间隔的汇总值和汇总值平均数之间的差减到

最小。

标准偏差

此选项以这样一种方式分配间隔:中间的间隔在数据值的中数(或平均数)处中断,并且中间

范围以上和以下的间隔是中数以上或以下的一个标准偏差。标准偏差是方差的平方根。它表现一组值中的不同值怎样偏离此组值的平均数。

点密度

点密度地图为指定项目的每一次出现显示一个点。例如,可以创建一个“美国”地图,为该国每

一个造船厂显示一个点。象田纳西州这样的州中将没有点。然而,在一些沿海的州中,例如南加

利福尼亚,能够在地图上计算点的个数,因为它们的散布将相当宽。

“点密度”地图的目的是提供特定项目分布的整体印象。“点密度”地图很象一张美国的夜间卫

星照片,在那能看到所有城市的灯光。这样的地图不是一种很精确的交流信息的方式(特别是有大量的项目时),但它是给出分布概观的一种好的方法。

饼图

饼图地图显示每个地理区域的饼图。“饼图”代表组成一个整体的数据项目。饼图的每个扇区代

表一个单个的数据项,并显示该项目在总体中所占百分比。例如,可以创建一个按地区显示供热

燃料类型的“饼图”地图。可能有四种燃料类型(每一饼图中的四个扇区):电、煤气、木材和

太阳能。则每一地区将有一个显示该地区内供热燃料类型细分的饼图。由于华盛顿地区的水电,

该州可能使用高百分比(饼的大扇区)的电,而爱达荷州可能使用高百分比(饼的大扇区)的天

然气。

可以使用该地图类型比较特定区域内若干项目的分布情况。还可以指定成比例调整饼图大小,以

便象“分级”地图中的符号一样,根据基础数据值以不同的大小显示“饼图”。这使您能够比较地区间的总计。

条形图

条形图地图类似于饼图地图,但对于某些数据集也许更有用。通常,对于总和不是100%的项

目,也就是说,对于不构成一个整体的数据项目,或者无关的数据项目,将使用“条形图”地图。

例如,可以创建一个按地区显示供热燃料使用的“条形图”地图。可能选择分析三种类型的燃料

的使用:电、煤气和太阳能。地图上每一条形图可以包含每种类型的单个条。在本例中,数据项

目(电、煤气和太阳能)不构成一个整体。在这些地区,还可能使用其他类型的燃料,比如木材,

但该地图只集中注意其中三种。还有,这个地图的目的是将每一地区每一燃料类型的使用和其他

所有地区做比较。在“饼图”地图中,可以按其占每一地区中整体燃料使用的百分比显示这三种

燃料类型,这虽然能够比较每一地区的百分比,但是由于每一地区都将有相同的总值(100%),所以可能不能比较每一地区的实际值。

创建地图

根据正在为其制作地图的数据的不同,创建地图的过程有所不同。下面几节针对每一种地图布局详述地图制作过程。

基于详细资料字段制作地图(“高级”布局)

“高级”布局允许您基于特定值创建地图。使用“高级”布局,您可以使用报表“详细资料”节

的值来创建地图,而不必使用汇总字段。

若要创建基于“高级”布局的地图,您必须指定以下两方面内容:

条件(可以有两个)。值(必须只有一个值)。

条件

条件用于指明在地图上的什么地方绘制数据。条件必须是字符串字段。为了生成地图,该字段应

包含地理信息。例如,显示各个国家去年销售额的地图使用“国家”字段作为条件。每当条件更改(国家更改)时,地图上的这一区域就会突出显示。

“高级”布局使用值来指明当地图上的区域突出显示时,正在针对什么信息制作地图。例如,若要创建显示各个国家去年销售额的地图,“去年的销售额”字段便是值。

FineReport地图功能如下:

.问题描述

地图的钻取功能,如下图,首次访问显示全中国各省份数据。点击山东省,进入山东省

省地图,显示山东省数据,并在右侧的柱形图上显示展现该数据,实现联动效果。

2.实现步骤

2.1数据准备

新建2个数据查询ds1和ds2,:

ds1:SQL为SELECT*FROM[地图]。

ds2:SQL为SELECT*FROM[地图]wherepid='${provience}',provience参数

默认值为”江苏省“

2.2地图制作

添加地图

合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,然后点击

确定,如下图:

地图类型

选中地图,在设计器右侧的图表属性面板图表属性表-类型选择地图类型,默认选择为国

家地图>中国。

注:设计器内置有三种地图,世界地图,国家地图以及省市地图,其中国家地图有两个,

中国和美国,省市地图为中国的各省市地图,如需自定义地图,则可导入自己准备好的地图

图片进行设计,详细请查看自定义地图。

区域对应

在FineReport的内置数据库中存有区域对应字段,即表示地图的区域名跟数据库中存

有的区域名的对应关系,比如说:中国地图,在地图类型处选中中国,点击设置按钮,选择

区域对应字段,默认的区域对应字段为各省市的全称,如下图:

如果数据中的区域名称跟内置的区域名称不一致,即要重新配置区域名称对应,如上图

所示,进入定义区域名对话框,可直接在右侧的数据库区域名中手动输入,也可选择数据集

之后,直接通过下拉框输入。

注:如果数据库中的区域名称跟设计器中内置的地图区域名称对应不上,在使用过程中

就会使用默认的区域对应关系,则无法获取到数据库中区域的对应数据。

地图数据

定义好地图的类型之后,就可以为地图定义数据来源了,选中地图,点击图表属性表-

数据,进入数据设置面板,地图展现方式选择多层钻取,如下图:

钻取层级设置

从上图可以看到,钻取层级下有个中国的文件夹,双击即可打开查看中国下面的省份,

选中中国文件夹,右击,则会跳出层级设置对话框,如下图:

图中的钻取对应地图表示该区域在钻取完成之后显示的地图,可手动输入,也可下拉框

选择,但是该地图必须是定义好的,即必须是内置的地图或者是自定义好的。

注:如果钻取层次不止两级,比如说钻取到福建省之后,还需要钻取到福建省下面的县

级市,但是我们内置地图只到省市,没有内置县级市的地图,这是时候就需要自定义地图,

即自定义县级市地图,然后选中福建省,右击,进入下层钻取设置,在钻取对应地图中选择自定义的地图。比如,自定义了一张泉州市地图,如下图设置即可钻取至泉州市:

钻取数据设置

点击底层数据,为每个层次的地图添加数据,如下图:

数据区间配置

数据区间配置如果选择自动,即设计器会根据数据的最大值最小值自动划分区。

我们这里选择自定义,主题颜色改为深绿色,划分阶段使用默认值5,区间段设置如上

图所示,如果需要修改区间段的颜色,点击色块即可修改。

2.3柱形图

合并一片单元格,点击插入>单元格元素>插入图表,选择柱形图,点击确定即可添加

一张柱形图。

柱形图数据来源

柱形图样式设计

给柱形图添加标题各地区利润额排名,如下图:

2.4联动设置

如上所述,地图和柱形图都已经设置好了,如果要实现联动,则需要在设置交互属性。

选中地图,在图表属性表中选择特效,点击交互属性,添加一个超级链接,即点击

,添加一个图表超链-联动单元格,设置如下图: